c语言中 a<b? a : c<d? a : 怎样解读
4个回答
展开全部
这是三目运算符,判断前面的表达式是否为真,若为真则返回:前的数,若为假则返回:后的数,若数值是一个表达式则要进一步判断,就像楼主这个例子,不满足a<b时返回的是一个表达式的返回值,所以要接着判断。整体可以改写成if....else if...else的结构,改写如下:
if(a<b)
return a;
else
if(c<d)
return a;
else
return ....; //你后面没有写全,所以不知道返回的是什么。
不知道这样解读你是否满意,希望能帮助到你!~学习愉快!~
if(a<b)
return a;
else
if(c<d)
return a;
else
return ....; //你后面没有写全,所以不知道返回的是什么。
不知道这样解读你是否满意,希望能帮助到你!~学习愉快!~
展开全部
先读前a<b? a : c 如果a<b那么这个表达式的值为a 否则为c 再用得到的这个值(假如是a)进行后面的运算a<d?a:这里貌似少了个数吧。。。再进行判断
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
表达式不完整,假设补全完整后的表达式为: a<b?a:c<d?a:b
表达式执行顺序是从右到左。三目运算符 ? : 的意思是如果?前的表达式为真则表达式的值为:左边的值,反之则为:右边的值。
假设 a<b, c>d;则表达式 a<b?a:c<d?a:b 等价于 a<b?a:b 等价于 a
表达式执行顺序是从右到左。三目运算符 ? : 的意思是如果?前的表达式为真则表达式的值为:左边的值,反之则为:右边的值。
假设 a<b, c>d;则表达式 a<b?a:c<d?a:b 等价于 a<b?a:b 等价于 a
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就是if ...else if ...else 形式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询