C 为什么这个程序会给出以下输出?
当我运行这个程序时,它的输出是 1,4,4 为什么sizeof'A'给出4个字节?“A”是否被视为整数?如果是,为什么C 为什么这个程序会给出以下输出?,c,C,当我运行这个程序时,它的输出是 1,4,4 为什么sizeof'A'给出4个字节?“A”是否被视为整数?如果是,为什么 #include<stdio.h> int main() { char ch = 'A'; printf("%d, %d, %d", sizeof(ch), sizeof('A'), sizeof(3.14f)); return 0; } 有, 它给出了输出 1,2,4 这更令人困惑 注意:我使用compileonline.com来测试这段代码。我通常建议在类型
#include<stdio.h>
int main()
{
char ch = 'A';
printf("%d, %d, %d", sizeof(ch), sizeof('A'), sizeof(3.14f));
return 0;
}
有,
它给出了输出
1,2,4
这更令人困惑
注意:我使用compileonline.com来测试这段代码。我通常建议在类型或变量上使用sizeof。在文字常量上使用sizeof似乎令人困惑,但在编译时计算1+其字符串长度的文字字符串可能除外 文字“A”在C中是一个int,在您的计算机上大小为4 文本字符串A与
const char literal_A_string[] = {'A', (char)0};
其大小显然是2个字节,因为每个文本字符串都附加了一个终端空字节。我通常建议在类型或变量上使用sizeof。在文字常量上使用sizeof似乎令人困惑,但在编译时计算1+其字符串长度的文字字符串可能除外 文字“A”在C中是一个int,在您的计算机上大小为4 文本字符串A与
const char literal_A_string[] = {'A', (char)0};
其大小显然是2字节,因为每个文本字符串都附加了一个终端空字节。在C中,“a”的类型是int,这解释了为什么sizeof'a”是4,因为您的平台显然有32位int。有关更多信息,请参阅
编译为C++时,第一个程序打印1个1。 A是由字母A后跟NUL字符组成的字符串文字。因为它有两个字符长,所以sizeofA是2。
在C中,“A”的类型是int,这解释了为什么sizeofA是4,因为您的平台显然有32位int。有关更多信息,请参阅编译为C++时,第一个程序打印1个1。
A是由字母A后跟NUL字符组成的字符串文字。因为它有两个字符长,所以sizeofA是2。1。sizeof运算符提供输入参数的大小。 2.变量的大小取决于machinecomplier。在您的情况下,它是32位的。 3.sizeofch=1,因为您声明为char。 4.sizeof'A'=4,因为编译器将文本常量视为整数。 5.sizeofA=2,因为它是一个2字节的字符串。在大小写字符串中,如果你写一个字符,编译器也会在末尾插入空字符。因此它的大小是2字节。
4.sizeof3.13f=4,因为它的浮点大小是4字节1。sizeof运算符提供输入参数的大小。 2.变量的大小取决于machinecomplier。在您的情况下,它是32位的。 3.sizeofch=1,因为您声明为char。 4.sizeof'A'=4,因为编译器将文本常量视为整数。 5.sizeofA=2,因为它是一个2字节的字符串。在大小写字符串中,如果你写一个字符,编译器也会在末尾插入空字符。因此它的大小是2字节。
4.sizeof3.13f=4,因为它的浮点大小是4字节Ahh。谢谢你的帮助。谢谢你的帮助。我不知道。谢谢,我不知道。谢谢。哪个处理器给出33位?哪个处理器给出33位?
const char literal_A_string[] = {'A', (char)0};