55智能网
新记
已有声明“int x,a=3,b=2;”,则执行赋值语句“x=a>b++?a++:b++;”后,变量x、a、b的值分别为___(26)___。
A. 3 4 3 B. 3 3 4 C. 3 3 3 D. 4 3 4
求详细解释,谢谢
举报该文章
相关建议 推荐于2018-04-30
该赋值语句可以写成这样
if(a>b++)//a大于b++ 执行完成后b=3;
{
x = a++;//a++后a的值为4 赋值语句自右向左x为3
}
else
{
x = b++;//不执行
}
因此x,a,b为3,4,3.
温馨提示:内容为网友见解,仅供参考
当前网址:
https://55.aolonic.com/aa/efgfccqre.html
其他看法
第1个回答 2011-10-12
a++先赋值后自加,所以执行完语句后,自然是等于4,b自然是3
a>b,所以x = a++,所以x = 3 答案是 A本回答被提问者采纳
第2个回答 2011-10-12
选A 3 4 3
你自己要是对符号优先级不懂的话可以自己写一个程序运行结果出来不就知道选那个了嘛
c语言程序:
main()
{
int x,a=3,b=2;
x=a>b++?a++:b++;
printf("x=%d\na=%d\nb=%d",x,a,b);
}
运行之后就能看到结果了
相似回答
大家正在搜
相关问题
设有int a=3,b;,则执行语句:b!(a>2);后,b...
已有定义:int x=3,y=2;,则执行语句!x&&(y+...
若有以下定义int a,b; float x,则正确的赋值语...
c#语言中,有定义int a=3,b=4,c=5;则语句c=...
C语言赋值表达式问题:若定义有语句:int a=3, b=2...
若有定义int a=1,b=2,c=3;则执行表达式(a=b...
若有定义:int a,b; 则表达式(a=2,b=5,a*2...
语句int a=3;则执行了语句a+=a-=a*a;后,变量...