Tag: comma operator

逗号运算符和void表达式

我遇到了这段代码1 int return_printChar1() { // code // oops! no return statement } int return_printChar2() { // code return printf(“Return”); } int main() { int i; // some more code i = return_printChar2(); if((return_printChar1(),i)) { printf (“Gotcha”); } } 1:这不是一个真实的例子。 我的问题是“ 在C和C ++中是否很好地定义了代码片段的行为? ” 我的看法: 在C中,行为很明确,因为6.5.17说 逗号运算符的左操作数被计算为void表达式 ; 评估后有一个序列点 在C ++ 03中,行为很明确,因为5.18说 由逗号分隔的一对表达式从左到右计算,并且左表达式的值被丢弃 。 但是C ++ […]