2014-09-24 3 views
1

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의 입력 값을 제공 한 후 오류. 그러나 값을 직접 할당 할 때 작업합니다.

+3

&s1.mob 귀하의'PARAMS 보일 scanf'이 중 일부를 누락하는'및'. – WhozCraig

+0

'scanf ("% d", s1.id);'잘못되었습니다. 구글은'int를 얻기 위해'scanf '를 사용하는 방법. –

+1

컴파일러 경고는 이러한 종류의 오류를 찾는 데 도움이됩니다. –

답변

3

s1.ids1.mob는 int 형 포인터하지, 당신은 사용해야 &s1.id

+0

고마워요! ** 당혹 스럽네요 :/** –

관련 문제