关于C语言 printf("%d\n",printf("%d",printf("%d",i)));#include int main(){int i=43;printf("%d\n",printf("%d",printf("%d",i)));return 0;}如何解释它的输出是4321如果从最内层往外输 不应该是4312么?囧

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/06 08:03:21
关于C语言printf("%d\n",printf("%d",printf("%d",i)));#includeintmain(){inti=43;printf("%d\n",printf("%d",

关于C语言 printf("%d\n",printf("%d",printf("%d",i)));#include int main(){int i=43;printf("%d\n",printf("%d",printf("%d",i)));return 0;}如何解释它的输出是4321如果从最内层往外输 不应该是4312么?囧
关于C语言 printf("%d\n",printf("%d",printf("%d",i)));
#include
int main()
{
int i=43;
printf("%d\n",printf("%d",printf("%d",i)));
return 0;
}
如何解释它的输出是4321
如果从最内层往外输 不应该是4312么?囧

关于C语言 printf("%d\n",printf("%d",printf("%d",i)));#include int main(){int i=43;printf("%d\n",printf("%d",printf("%d",i)));return 0;}如何解释它的输出是4321如果从最内层往外输 不应该是4312么?囧
#include
int printf( const char *format, ... );
首先 得看printf的返回类型是 int
这个函数的返回值是 你输出的位数
所以 printf 43返回值就是2 printf 2返回值是1
还有一个你要了解的是 printf函数处理方式 从右至左 所以先执行printf i 输出 43 返回2 然后执行 printf 2 输出2 返回1
最后 我就不用多说了吧