C如何在printf语句中编译"senthil""kumar"?
how does C compiles "senthil""kumar" in a printf statement?
我在使用 printf 语句时怀疑 C 语言的基础知识。
好吧,这就是我的代码的样子。
#include<stdio.h>
int main(){
printf("%s %s",("senthil""kumar"),("hello""world"),("stack""overflow");
return 0;}
我有这样的输出,
senthilkumar helloworld
但我不知道这段代码是如何工作的。
你能帮我弄清楚它是如何工作的吗...
提前谢谢。
编译器合并了两个连续的字符串文字。
即以下示例是等效的:
// 1:
"foo" "bar"
// 2:
"foobar"
// 3:
#define FOO "foo"
FOO "bar"
您不需要所有这些内括号(另外,末尾缺少 )
)。
我在使用 printf 语句时怀疑 C 语言的基础知识。 好吧,这就是我的代码的样子。
#include<stdio.h>
int main(){
printf("%s %s",("senthil""kumar"),("hello""world"),("stack""overflow");
return 0;}
我有这样的输出, senthilkumar helloworld
但我不知道这段代码是如何工作的。 你能帮我弄清楚它是如何工作的吗... 提前谢谢。
编译器合并了两个连续的字符串文字。
即以下示例是等效的:
// 1:
"foo" "bar"
// 2:
"foobar"
// 3:
#define FOO "foo"
FOO "bar"
您不需要所有这些内括号(另外,末尾缺少 )
)。