C语言:图片上的代码段的执行结果是多少?为什么?

如题所述

结果是0——因为?号表达式的:两边必须是同类型或可以兼容的类型的语句才行。这里:两边的1和1.5的类型被解释为1是int型,而1.5是double型(C的规定)。C又规定同一表达式中的基本数据类型“向高的看齐”,所以1被提升为1.0也成为double型。由于6>5成立,所以执行?后的1(被提升为1.0了),总体表达式的值就是1.0,是double型。但printf中的控制符是"%d",所以会出错变成0(把浮点数按int输出一般都为0,原因不说了)。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-05-12
结果是程序报错,应该用%f,因为涉及到小数结果,然后如果用的是%f,结果是1.0000,x> y,执行问号后第一个结果
相似回答