c语言中问号问题

来源:百度知道 编辑:UC知道 时间:2024/05/26 11:28:11
K=a>b?((b>c?1:0):0 的功能是什么?

是否是,if((a>b)&&(b>c)) k=1;else k=0

先展开成:
if(a > b)
k = (b > c ? 1: 0);
else
k = 0;
再展开
if(a > b)
if(b > c)
k = 1;
else
k = 0;
else
k = 0;
你说的是对的

?:
是一个条语句
?号前面的是判断条件,后面的是返回值,如果条件为真则返回:号前面的值,否则返回:后面的值

如果b大于c则表达式为1,否则为0

如果a>b成立则k取为前面b>c表达式的值否则为0

这不就是今年9月的试题么!
你做对了。呵呵!