|
|
|
|
|
|
结果不确定函数参数的求值顺序是C语言的未定义行为,语言规范没有规定顺序不同的编译器不能保证输出的结果一致。你可以试不同的编译器结果不同
我可以再打┅个比方,比如我让你们班上的同学都写一个函数 sum(n)计算1+2+...+n的值
这两个程序在n>=1的时候,运算结果一样
现在问题来了,当n=-10的时候你的程序返回10,二狗的程序返回-45可能铁蛋写的程序返回-1234
为什么,因为老师布置题目的时候没有规定n<1怎么输出,所以结果是什么取决于你的程序怎么写的
一个道理,不同的编译器没有考虑这种代码应该输出什么所以结果五花八门了。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。