gpt4 book ai didi

c - c中执行错误: "Segmentation fault (core dumped)"

转载 作者:行者123 更新时间:2023-11-30 18:19:58 25 4
gpt4 key购买 nike

我只是 C 程序员的初学者。尝试编写一个基本程序,当我执行并引入任何数字时,就会出现此错误。

#include <stdio.h>
int main ()
{
float a;
scanf("%f",a);
printf("%f\n",a);
return (0);
}

最佳答案

记住 scanf 是一个函数,您遇到的问题是直接传递变量。通过这样做,程序将收到变量的副本,并且将无法修改 main 中包含的变量。Scanf 使用指向数据类型的指针,这就是您需要传递指针的原因。这应该可以修复它:

scanf("%f",&a);

注意:当使用 & 时,您正在使用该变量的内存位置(与指针相同)。

出现 seg 错误的原因是,在 scanf 内部,一旦函数获取用户输入,它就会执行以下操作:

*a = user_input;//suppose the user_input was a float(already converted from a string) 

如果您直接传递变量,它将尝试遵循所包含的值。

关于c - c中执行错误: "Segmentation fault (core dumped)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35975239/

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