#include <stdio.h>
int main()
{
int x = 1;
short int i = 2;
float f = 3;
if (sizeof((x == 2) ? f : i) == sizeof(float))
printf("float\n");
else if (sizeof((x == 2) ? f : i) == sizeof(short int))
printf("short int\n");
}
输出为“浮动”。所以我不明白为什么sizeof((x==2)?f:i)
总是返回4
。我认为声明(x==2)?f:i;
缺少变量,但它始终返回4(sizeof(f))
。
您能帮我吗!这是我学习的第一门编程语言。我知道这个问题很愚蠢,但是对我来说却很难。感谢您的宝贵时间:)祝您有美好的一天;)
而且我第一次尝试使用Stackoverflow时,可能会有一些错误。希望你能原谅我
#include
int main(){int x = 1;短整数i = 2;浮点数f = 3;如果(sizeof((x == 2)?f:i)== sizeof(float))printf(“ float \ n”);否则如果(sizeof((x == 2)?...
sizeof((x==2)?f:i)
您正在计算布尔表达式的大小,在C中为整数,在大多数计算机上其大小为4字节。