设有以下程序段,根据要求回答相应的问题。

设有以下程序段,根据要求回答相应的问题。,第1张

b都没赋值,哪里能算出来结果?

另外按照运算符优先级,d/b%a这句话就是从左到右依次执行,先算除法,再取余数。

d%c+b/a*5+5这句话就是算乘除法,再算取余,最后把三项相加。

以上所有运算均为整数运算,如果除法中涉及小数,会被截断成int数,即丢失小数部分、取整数部分再进行运算。

int a,b,c

a=b=c=0

a=(++b)+(c++)//该语句运行结束后变量a=1+0=1,b=1,c=1

a=(b--)+(- - c)//该语句运行结束后变量a=1+0,b=0,c=0

在=,||,&&三个符号的优先级顺序来看,=号的优先级最大,所以先进行=号的赋值运算。

因此先进行a=++x但是赋值 *** 作中是从右往左的运算顺序所以先进行++x,所以x = 3,a=3赋值运算结束后,计算完成,不再进行后面的运算。所以答案选C!这道题考的其实是符号的优先级顺序,这个需要你牢记的!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7689744.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-08
下一篇 2023-04-08

发表评论

登录后才能评论

评论列表(0条)

保存