我在互联网上发现了一个问题,就是有一个C程序,它喜欢 -
int main(){
int a = 123;
printf("%d", printf("%d",a));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我在Codeblocks运行此程序并找到结果1233.
我的问题是为什么printf()就是这样的?
see printf是一个返回的函数int.哪些int是characters印刷的.
这是一个printf原型
int printf(const char *restrict format, ...)
Run Code Online (Sandbox Code Playgroud)
按照你的计划:
printf("%d", printf("%d",a));
Run Code Online (Sandbox Code Playgroud)
printf("%d",a)这里a是123,所以它打印123并返回3
而printf("%d", printf("%d",a));变得printf("%d",3);所以,冲印3独自
所以你的输出:
1233