提供ID的输入值后出错。但是在直接分配值时工作。编译成功。
#include<stdio.h>
#include <string.h>
typedef struct student
{
char name[20];
int id;
int mob;
} stu;
void printstudent(stu *stud);
void main()
{
stu s1;
strcpy(s1.name,"name");
printf("Enter Student id");
scanf("%d",s1.id);
//s1.id=1;
printf("Enter Student Mob no");
scanf("%d",s1.mob);
//s1.mob=9911;
printstudent(&s1);
}
void printstudent(stu *stud)
{
printf("\n%d",stud->id);
printf("\n%s",stud->name);
printf("\n%d",stud->mob);
}
提供ID的输入值后出错。但是在直接分配值时工作。
答案 0 :(得分:3)
s1.id
和s1.mob
不是指向int的指针,您应该使用&s1.id
和&s1.mob