c语言题 int a=1,b=2,c=3,d=4,e=5; k=a>b?c:d>e?d:e;求k

c语言题
int a=1,b=2,c=3,d=4,e=5;
k=a>b?c:d>e?d:e;求k的数值时多少?

#include <stdio.h>
int main(void)
{
    int a=1,b=2,c=3,d=4,e=5;
    printf("%d\n",a>b?c:d>e?d:e);
    return 0;
}

运行结果:5

#include <stdio.h>
int main(void)
{
    int a=1,b=2,c=3,d=4,e=5;
    printf("%d\n",a<b?c:d>e?d:e);
    return 0;
}
运行结果:3
从第二个小程序的运行结果可以看出,确实是
先判断d>e,再判断a<b,最后结果取c的值。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-09
k=5
k=a>b?c:d>e?d:e;
是说,a>b是否为真,真的话就执行,把c的值赋给k
如果a<b为假,就不执行c的值,
然后跳到下面看d>e是否为真,如果真的话就执行,把d的值赋给k
如果d>e为假的话,剩下的就执行e了,把e的值赋k,所以k=5
第2个回答  2014-11-27
5追答

d>e吗?不大于所以选择e

a又不大于b

所以在c和e中选择e

最后k的值是5

本回答被提问者采纳
第3个回答  2014-11-27
1
第4个回答  2014-11-27
3追问

为什么

追答

因为所以啊,这你都不知道吗,

相似回答