a=3; a+=(a<1)?a:1; printf(“%d”,a);

[复制链接]
查看11 | 回复1 | 2011-9-14 13:09:53 | 显示全部楼层 |阅读模式
结果是4.“(a<1)?a:1”是一个“条件表达式”。“?”是条件运算符。如果(a<1)条件为真,则条件表达式的值等于a,否则取值1。这里a=3,a<1不为真,所以整个条件表达式(a<1)?a:1的值取1。所以a+=(a<1)?a:1就变成了a+=1,等价于a=a+1。原来a的值为3,所以a+1=4。然后把4再赋值给a。所以a的最后值为4。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行