int a,b,c;
a=b++, c++; //error here
我试图测试a
是否会获得c++
的价值
错误讯息:
未初始化的本地变量' b'使用
未初始化的本地变量' c'使用
编辑: 我在互联网上看到这个http://www.studytonight.com/cpp/operators-and-their-types.php,但其他用户说的是错误的
答案 0 :(得分:0)
您使用的来源多次错误。
int a,b,c;
a=b++, c++;
首先从未初始化的变量中读取会导致UB,因此您无法预测a
中的内容。其次,即使您初始化b
和c
表达式等于:
(a=b++), c++;
要查看您必须在该网站上预测的行为:
a=( b++, c++ );
由于operator=
优先于逗号。可以找到详细信息here