<分区>
请告诉我这行将在 C++ 中打印什么
int a = 5;
cout<<++a <<" " <<++a <<" " <<++a <<endl;
在“Schaum's programming with c++”一书中给出了它将从右到左进行并且输出将是 8 7 6
但我得到的输出是 8 8 8 请说明,本书成书后C++语言有没有修改?
标签 c++
<分区>
请告诉我这行将在 C++ 中打印什么
int a = 5;
cout<<++a <<" " <<++a <<" " <<++a <<endl;
在“Schaum's programming with c++”一书中给出了它将从右到左进行并且输出将是 8 7 6
但我得到的输出是 8 8 8 请说明,本书成书后C++语言有没有修改?
最佳答案
这是未定义的行为;你可以得到任何结果,你的程序可以 崩溃,或者给你的老板发一封侮辱性的信。任何以此为例并为其指定特定输出的书都应该扔进垃圾桶;作者不懂C++;
关于c++ - 子表达式求值顺序的不可预测性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18165204/