解析一個有關sizeof用法的標題--sizeof(i++)。本站提示廣大學習愛好者:(解析一個有關sizeof用法的標題--sizeof(i++))文章只能為提供參考,不一定能成為您想要的結果。以下是解析一個有關sizeof用法的標題--sizeof(i++)正文
#include <stdio.h>
int main()
{
int i;
i = 10;
printf("%d\n", i);
printf("%d\n", sizeof(i++));
printf("%d\n", i);
return 0;
}
這三行輸入應當是甚麼?
謎底是:
10
4
10
第三個為何不是11? i為何沒有自增?
請看C++尺度;
5.3.3 sizeof
The sizeof operator yields the number of bytes in the object representation of its operand. The operand is either an expression, which is an unevaluated operand (Clause 5), or a parenthesized type-id.
也就是說,假如sizeof的操作數是一個表達式的話,這個表達式時不會被盤算的。
sizeof當預處置看就好了,它前面括號裡的器械,基本不求值,只依據C的一堆規矩斷定成果類型,然後前往成果類型的年夜小
別的一個操作符typeid也是如斯。