gpt4 book ai didi

C程序:segmentation fault

转载 作者:行者123 更新时间:2023-11-30 20:54:37 27 4
gpt4 key购买 nike

我是 C 编程新手,我的代码中出现了段错误。该程序使用返回函数来询问用户他们的银行帐户中有多少钱。稍后我将添加代码来计算利息。感谢您为我查看此内容,因为我很难找出为什么会出现此错误。

#include <stdio.h>
#include <stdlib.h>

int getPV()
{
int d;
int start;
printf("Start: ");
scanf("%d", start);
d = start;
return d;
}


int main()
{
int pv;
pv = getPV();
print("%d",pv);
return 0;
}

最佳答案

当您调用 scanf 时,您需要传递要存储值的变量地址

这意味着,如果你想将值存储在变量start中,你需要将start的地址传递给scanf

您可以使用&运算符获取变量的地址。所以你需要将 scanf 更改为:

scanf("%d", &start);
<小时/>

使用 scanf("%d", start); 时会出现段错误,因为 start 是一个自动变量,并且在在为它分配一些值之前。 scanf 会将此随机值视为必须存储用户输入值的地址。现在,当 scanf 尝试将用户输入的值存储到此随机地址位置时,您会遇到段错误,因为很可能您的程序不允许访问该地址位置。

关于C程序:segmentation fault,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38692216/

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