在下面的代码中,当我获取第一个if
的条件的值时,它是0,因此是错误的。仍然,输出打印“浮动”。这是短路的结果吗?如果是这样,为什么在“正常”情况下不会发生这种情况,sizeof
运算符未与'=='一起使用?条件运算符
#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");
else if(sizeof((x == 2) ? f : i) == sizeof(short int))
printf("Short int");
}
没有促销,只有UAC。 – chris 2014-08-28 12:41:32
*您需要管理员权限才能执行此分支*。啊。 – Quentin 2014-08-28 12:46:45
哈。我仍在努力在Windows之前将它与C++联系起来。 – chris 2014-08-28 12:47:27