c语言题目怎么搜请教一下,谢谢

printf输出的时候是从后面往前计算嘚。

一开始n=1然后自加1变成2了

然后 --n是先减1,在使用 所以输出为1 n变成1了

n++是先使用,在自增1所以输出为1 n变成2了

在C语言中,printf()是的计算从右向咗的显示是从左向右的,这道题先算--n, n++, n;

最好的办法是在机器上执行一遍!很奇怪,我在vs2012上执行的结果是212在vc6里执行的结果是111,所以同意楼下的观点结果在乎于编译器的实现!出题的人的确只是纸上谈兵!

在vs2012下的运行结果!

在vc6下的运行结果!


 

A, 视乎编译器的实现, 结果可能会有多种

答案没有A 我推测是A 是 因为函数是从在往右计算,并入栈 函数内部弹出栈时就显得是从右往左, 实则显示是从左往右 但是參数计算顺序是完全由编译器计算方式实现的,所以是不定的如GCC与VC的实现可能就不同,所以实际开发过程中不要写这样的NC式语句会给迻植造成很大的问题

你这是都不会啊 我可以帮你写 私信我

你对这个回答的评价是

我要回帖

更多关于 c语言题目 的文章

 

随机推荐