# include <stdio.h>
int main()
{
int a = sizeof("string");
printf("%d", a );
return 0;
}
Run Code Online (Sandbox Code Playgroud)
上面的代码打印7作为输出,而字符串的长度只有6.有人可以解释一下吗?
这就是发生的事情:
"string"是一个(const)字符数组,包括一个空终止字符,即{'s', 't', 'r', 'i', 'n', 'g', '\0'}.在您的示例中,所述数组有7个元素.sizeof应用于数组的运算符会产生以字节为单位的大小.char是1.因此,您可以在文字中显示明确的字符数,以及空终止符.
C和C++中的行为相同
| 归档时间: |
|
| 查看次数: |
1278 次 |
| 最近记录: |