输入结构指针时出错

时间:2014-09-24 08:56:02

标签: c pointers

提供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的输入值后出错。但是在直接分配值时工作。

1 个答案:

答案 0 :(得分:3)

s1.ids1.mob不是指向int的指针,您应该使用&s1.id&s1.mob