gpt4 book ai didi

c - C中的段错误

转载 作者:太空宇宙 更新时间:2023-11-04 05:21:36 25 4
gpt4 key购买 nike

我正在尝试编写这段代码,但在运行程序后出现段错误,您能帮忙解决一下吗?

#include <stdio.h>
#include <string.h>

typedef struct{
int salary;
char* name;
} employee ;

int main(){
employee p[2];
int i;
for(i=0;i<2; i++){
printf("enter sal ");
scanf("%d", &p[i].salary);

printf("enter name ");
scanf("%s", &p[i].name);
}
for(i=0;i<2; i++){
printf("p %d",p[i].salary);
printf("p %s",p[i].name);
}
return 0;
}

最佳答案

  • 您需要为名称字段分配内存:p[i].name = (char*)malloc(MAX_NAME_LEN)
  • 另外,scanf("%s", &p[i].name) 应该是 scanf("%s", p[i].name) .

关于c - C中的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4344599/

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