gpt4 book ai didi

c - 字符赋值期间存储的值

转载 作者:行者123 更新时间:2023-11-30 18:29:12 24 4
gpt4 key购买 nike

对于下面这段代码

int main()
{
char a=a;
printf("%d",a);
}

为什么上面代码的输出是8?

如果我将 %d 更改为 %c,则不会打印任何内容。

最佳答案

char a = a;是自初始化,基本上和不初始化是一样的。因此,a 的值是未定义的。实际上,它的值取决于变量之前存储在内存中的内容。

字母a在ASCII或Unicode中的数值是97。数字8只是任意垃圾。如果编译器尊重自身,它会给您一个编译时错误,而不仅仅是一个警告。

事实上,您可能甚至没有收到警告 -.-

关于c - 字符赋值期间存储的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40059739/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com