C语言中++a*--a==b?12%5:'x'怎么理解?

 我来答
紫忠忻酉
2020-01-19 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:28%
帮助的人:1155万
展开全部
++a*--a分开写就是:
a=a+1;
a=a-1;
a*a;
的意思。
  至于你说++a*--a为什么会是1?那就要看a是初始化为几了,如果初始化为1,那结果自然是1;如果初始化为为2那应该就是4了。
  ++a*--a==b的意思是把++a*--a的运算结果与b比较一下看是否相等,给谁都不赋值。
  12%5用12除以5取余数的意思,它应该等于2。
  'x'是C/C++提供的取x的ASCII码的意思;x(小写)的ASCII码是十进制数120,换算成16进制是0x78。你看,用'x'又直观又省事。它就是一个立即数,与你写120和0x78是一回事……
那么整个表达式++a*--a==b?12%5:'x'的意思是什么呢?这个语句叫?语句,是分支语句的一种,是说如果?前面的表达式为真,则执行?后面的语句,否则执行:后面的语句。你这里的具体意思是:如果把整个表达式赋给一个变量p,即p=++a*--a==b?12%5:'x'的话,那么,当++a*--a==b成立(即++a*--a=b)的时候,p的值就等于12%5=2,否则的话p就等于'x',即等于120。
刑秀珍犁云
2020-01-24 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:34%
帮助的人:1327万
展开全部
?:操作符被称为条件操作符,其通用格式如下:
expression1
?
expression2
:
expression3
如果expression1的值为真,则整个条件表达式的值为expression2的值;否则为expression3的值
所以你的这句意思就是
先判断++a*--a==b是否为真
为真的话整个表达式的值为12%5,即2
否则整个表达式的值为'x'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
板树枝童莺
游戏玩家

2020-01-17 · 游戏我都懂点儿,问我就对了
知道大有可为答主
回答量:1.2万
采纳率:26%
帮助的人:2197万
展开全部
a的初始值为多少?你单给给式子怎么能知道a++*--a的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式