c语言初学者遇到的问题
求助。我的代码如下 main() { int a=5; printf("%d\n",a++); printf("%d\n",a--); printf("%d\n",++a); printf("%d\n",--a); getch(); return; } 按道理的话,输出的结果应该为6 5 6 5。可为什么用这算出来的结果却是5 6 6 5
追问:問題是答案并不是想的那樣呀
求助。我的代码如下 main() { int a=5; printf("%d\n",a++); printf("%d\n",a--); printf("%d\n",++a); printf("%d\n",--a); getch(); return; } 按道理的话,输出的结果应该为6 5 6 5。可为什么用这算出来的结果却是5 6 6 5
追问:問題是答案并不是想的那樣呀
答案:是5 6 6 5
a++是先输出后自增,++a是先自增后再进行其他操作
第一条a++以后,输出的还是5但是第二条中的a已经为6,虽然a--,但是还是6,到第三条时为5,运行++a后,直接输出的为6,第四条先--,在输出结果
信息来源:黑吧安全网by he
其他:++或--在变量之后时 编译器会先取当前值进行当条语句的运算
而后才会算++或--
简而言之 ++在前先++ ++在后后++ --与++规则相同 ++和--在前面和在后面是不一样的,在前面当句的值就改变,在后面当句不变,执行下一句的时候才改变
上一个:麻烦高手帮忙做下C语言题目~~!!谢谢了
下一个:C语言巧分橘子