黑马程序员技术交流社区
标题:
求解答。
[打印本页]
作者:
الغيوم_ا
时间:
2014-7-13 23:32
标题:
求解答。
int main()
{int a=2;
Printf(″%d,%d,%d\n″,a,++a,a--);
为什么程序运行后是:2,2,2
而不是2,3,3?
作者:
温天恩
时间:
2014-7-14 00:00
这个应该同我刚才回答的问题,不同的编译器运行结果是不一致的,我的运行就是3,3,2。你可以通过goole百度来查看自己的编译器特性,我想应该有你要的答案。
作者:
灰色头像
时间:
2014-7-14 07:34
有意思我的编译器的答案是2,2,3还真是奇怪了
作者:
完美世界
时间:
2014-7-14 09:10
准确的答案是:你这个输出语句在C标准里是不被允许的,也就是错误的。2个关于a的运算顺序根据编译器的不同是不固定的。函数传参的时候避免一个变量做多次运算传入多次。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2