gpt4 book ai didi

c - scanf ("%d") 与字符一起正常工作

转载 作者:行者123 更新时间:2023-11-30 18:20:17 26 4
gpt4 key购买 nike

代码是:

int main() {
scanf("%d");
puts("hello!");
getch();
return 0;
}

如果我输入像7这样的数字,程序就会崩溃,但如果我输入像h这样的字符,程序就会成功执行。

您能解释一下背后的原因吗?
我在 Windows XP 上使用 MinGW。

最佳答案

访问指定的%d不会得到除数字以外的其他字符。

如果您给出其他字符,则 scanf 会被执行,并且不会存储任何内容。

当您给出数字字符时,scanf 将被执行并尝试存储该值。

由于存储位置不可用,程序崩溃。

尝试使用scanf中的存储位置,例如

scanf("%d",&a);

每个版本都会对存储位置发出警告。因此请尝试检查警告。

关于c - scanf ("%d") 与字符一起正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26687087/

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