#include<stdio.h>
int main()
{
printf("\n%d\n", printf("Hello world!"));
}
解析:printf("\n%d\n", printf(“Hello world!”));
printf()是一个函数,所以他在实现自己功能(输出字符串)的同时也有返回值,他的返回值就是printf打印的字符个数
例如:printf(“Hello world!”)的返回值就是12
所以如果有代码 int a = printf(“Hello world!”); 那么a的值就是12
所以题中%d的值就是12
题中代码是如此执行的
编译器看到printf的括号中有%d,所以计算 printf("Hello world!")的返回值,以得出%d的值,这就需要调用 printf()函数,所以第一行先执行printf()函数,即输出Hello world!,然后得出%d得值就可以输出"\n%d\n"了。