
void main() {int y=3,x=3,z=1; printf(%d %d\n,(++x
voidmain(){inty=3,x=3,z=1;printf(%d%d\n,(++x,y++),z+2);}为什么输出33而不是(4,3)3...
void main()
{int y=3,x=3,z=1;
printf(%d %d\n,(++x,y++),z+2);
}
为什么输出3 3
而不是(4,3) 3 展开
{int y=3,x=3,z=1;
printf(%d %d\n,(++x,y++),z+2);
}
为什么输出3 3
而不是(4,3) 3 展开
展开全部
(++x, y++)这整个是一个逗号表达式,逗号表达式的运算规则是从左往右依次计算,并返回最后一个表达式的值,所以返回输出的是y++
这里++放在了y的后面,所以是先输出y,再进行y=y+1运算,所以最后是输出3 3
这里++放在了y的后面,所以是先输出y,再进行y=y+1运算,所以最后是输出3 3
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |