关于printf函数解释自增运算符
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/07/10 11:00:26
关于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是像栈一样先处理后面那个,那第二第三个输出能理解,第一第四个是怎么回事?.求指教谢谢
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函数解释自增运算符](/uploads/image/z/15912544-40-4.jpg?t=%E5%85%B3%E4%BA%8Eprintf%E5%87%BD%E6%95%B0%E8%A7%A3%E9%87%8A%E8%87%AA%E5%A2%9E%E8%BF%90%E7%AE%97%E7%AC%A6)
我用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.
其他语句也照此分析.
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.
其他语句也照此分析.
关于printf函数内数字的自增自减运算
c语言自增自减运算题目 int x=5,y; y=2+(x+=x++,x+8,++x); printf("%d",y);
自增运算符要求运算对象是() A常量 B变量 C表达式 D标准函数
c语言 在函数中如果变量经过自加和自减运算后,函数执行完成后,经过自加和自减的变量会变成零?求解释啊
关于sumproduct函数解释
关于复合函数的极限运算法则
关于通信原理中的自相关函数
关于C语言 printf("%d\n",printf("%d",printf("%d",i)));
Matlab 编写自增函数
一个自增运算符加一个等于号是什么符号
C语言中printf()函数中的%2.
关于位域运算 麻烦帮解释下下列程序