c语言求指导

c语言求指导main() { int j; j=3; printf("%d,",++j); printf("%d",j++);
为啥都是4呀?谢谢

第1个回答  2017-06-12
++j 是先做++然后再做其它运算,也就j +1 = 4,然后printf输出。
j++是先做其它动作,然后再++,也就是说先printf输出,此时j=4,然后j +1 = 5。
第2个回答  2017-06-12
第一个是加1之后再输出,第二个是先输出再加1追问

那请问33题为啥a不加一了

追答

不是加1了吗?输出结果是10,a的值是11,你选了答案B呀

追问

是输出结果为啥还是10

追答

因为++是后缀,先输出a的值

此时a还没加1,输出之后a再加1

追问

好的

这个明白了

那上面那个为什么就让j加了一呢

追答

你多看看书,分清楚自增自减运算符的前缀与后缀

它们的运算顺序不同

追问

本回答被提问者采纳
第3个回答  2020-11-20
相似回答