在C语言中, int a=5,b; b=(++a)+(++a); 输出后为a=7,b=14这不合常

日期:2016-03-17 14:18:14 人气:1

在C语言中, int a=5,b; b=(++a)+(++a); 输出后为a=7,b=14这不合常

由于逗号运算符的优先级最低,在“表达式1,表达式2,...,表达式n,”中,逗号表达式的结果为最后一个表达式的值,即表达式n的值。 如果语句为a=a+b,a-b;则先运算a=a+b,再运算a-b,而整个逗号表达式的值为5,即a-b的值,最后结果为a=11,b=6。 如果语句为a=(a+b,a-b);则先运算a+b,结果无意义,再运算a-b,结果赋值作为逗号表达式的结果赋值给a,最后结果为a=-1,b=6。
    A+
热门评论