作业帮 > 综合 > 作业

a=1;b=0; if((a++>++b)?a++:b--) a+=b; a值为

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/07/29 17:29:45
a=1;b=0; if((a++>++b)?a++:b--) a+=b; a值为
a=1;b=0; if((a++>++b)?a++:b--) a+=b; a值为
#include
void main()
{
int a=1,b=0;
if((a++>++b)?a++:b--)
a+=b;
printf("a=%d\n",a);
}
a=2 经调试的 .
再问: 怎么理解这题啊,三目运算符不是用来判断取何值的吗,怎么理解这个条件啊
再答: if(这里面要是一个能返回布尔类型的表达式)三元不能放在里面 三元表达式返回的不是A++ 就是B-- 所以你直接这样就行 (a++>++b)?a++:b--;//判断 a+=b; (表达式1)?(表达式2):(表达式3) //判断表达式1 成立 返回表达式2的值不成立返回表达式3的值