c语言题目 求解释 急

求大佬解答

第一题:
三目运算符,由右至左依次运算。
题目相当于a<b?a:(c<d?c:d),先算括号内的,如果c<d成立,则括号内的表达式取值为c,否则取值为d,因为c=33,d=44,c<d成立,所以括号内的表达式取c值33。这样题目就变为a<b?a:33,因为a<b成立,所以题目式子取a值11,因此答案为A。其实不用管后边的计算,前边a<b已经成立,因此整个式子的结果就是a,也就是11。
第二题:
枚举类型。
枚举类型若定义时不赋初值,那么会默认对第一个元素赋0,后面的元素依次+1;
也可以在定义时给任意的成员赋初值,未赋初值的使用默认值,即比前一元素大1。
题目中blue=10,紧跟其后的white没赋值,则为11,再后边的black也没赋值,则其比前边的white大1,因此为black的值为12。
温馨提示:答案为网友推荐,仅供参考
相似回答