【发布时间】:2020-12-16 17:49:22
【问题描述】:
我的一个朋友正在学习指针概念,所以他编写了这个程序,但我不知道为什么这个程序是。它显示分段错误。我怎样才能找到这个程序中的错误?
代码如下:
#include<stdio.h>
#include<conio.h>
struct Student
{
/* data */
char name[20];
int age;
// int rollNo;
};
int main()
{
struct Student s1;
struct Student *ptr;
ptr = &s1;
scanf("%s",ptr->name);
scanf("%d",ptr->age);
// scanf("%d",ptr->rollNo);
printf("%s",(*ptr).name);
printf("%d",(*ptr).age);
// printf("%d",(*ptr).rollNo);
return 0;
}
【问题讨论】:
-
我觉得不错。
-
将
scanf("%d",ptr->age);更改为scanf("%d",&ptr->age);您的编译器应该对此发出警告。
标签: c pointers segmentation-fault