关于printf函数解释自增运算符int a = 5; printf("%d %d\n",a++,++a); a=5; printf("%d %d\n",++a,a++); a= 5; printf("%d %d\n",a++,a++); a=5; printf("%d %d\n",++a,++a);输出结果是6 77 56 57 7这个怎么解释?如果说p

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/10 00:57:44
关于printf函数解释自增运算符int a = 5;    printf(

关于printf函数解释自增运算符int a = 5; printf("%d %d\n",a++,++a); a=5; printf("%d %d\n",++a,a++); a= 5; printf("%d %d\n",a++,a++); a=5; printf("%d %d\n",++a,++a);输出结果是6 77 56 57 7这个怎么解释?如果说p
关于printf函数解释自增运算符
int a = 5;
printf("%d %d\n",a++,++a);
a=5;
printf("%d %d\n",++a,a++);
a= 5;
printf("%d %d\n",a++,a++);
a=5;
printf("%d %d\n",++a,++a);
输出结果是
6 7
7 5
6 5
7 7
这个怎么解释?如果说printf是像栈一样先处理后面那个,那第二第三个输出能理解,第一第四个是怎么回事?.求指教谢谢

关于printf函数解释自增运算符int a = 5; printf("%d %d\n",a++,++a); a=5; printf("%d %d\n",++a,a++); a= 5; printf("%d %d\n",a++,a++); a=5; printf("%d %d\n",++a,++a);输出结果是6 77 56 57 7这个怎么解释?如果说p
我用win-tc试验的结果是:
6 6
7 5
6 5
7 6
a++可以理解为“先用a的值,然后让a加1”,++a则是相反的“先让a加1,然后使用a的值”.
printf处理输出的时候是从右到左的.
所以对于printf("%d %d\n",a++,++a);,结合上面两条,那就是先输出++a的值,即“先加1再使用”输出6;然后才是a++,但这是“先使用再加1”所以还是显示6,然后才让a变成7.
其他语句也照此分析.