在下面的代碼中,當我獲取第一個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