执行以下的C语言程序段后,a= 10 ,b= 9 ,c= 11 。 int x=10,y=9; int a,b,c; a = (x-- == y++) ? x-- : y++; //此处不会短路哦 b=x++;c=y;
时间: 2024-03-07 16:52:11 浏览: 127
c代码-输入两个整数,如果它们的差值小于等于10,则显示 “它们的差小于等于10”;否则,显示 “它们的差大于等于11”
执行完这段程序后,a的值为9,b的值为9,c的值为10。
首先,表达式`(x-- == y++)`中的`x--`和`y++`会先进行比较,再进行自减和自增操作。由于`x`和`y`的初始值分别为10和9,所以该表达式的值为0(即`false`),然后执行`y++`语句,将`y`的值增加为10。因此,变量`a`的值为10。
接下来,执行`b=x++`语句,将`x`的值赋给`b`,然后再将`x`的值自增1。因此,变量`b`的值为9。
最后,执行`c=y`语句,将`y`的值赋给`c`。由于之前已经执行过`y++`语句,所以变量`c`的值为10。
阅读全文