C 在结构指针中输入时出错
提供ID的输入值后出错。但在直接分配值时工作。编译成功C 在结构指针中输入时出错,c,pointers,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("En
#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);
}
#包括
#包括
类型定义结构学生
{
字符名[20];
int-id;
国际暴民;
}斯图;
无效打印学生(stu*螺柱);
void main()
{
stu-s1;
strcpy(s1.名称,“名称”);
printf(“输入学生id”);
scanf(“%d”,s1.id);
//s1.id=1;
printf(“输入学生移动编号”);
scanf(“%d”,s1.mob);
//s1.mob=9911;
学生(s1&s1);
}
无效打印学生(stu*螺柱)
{
printf(“\n%d”,螺柱->id);
printf(“\n%s”,螺柱->名称);
printf(“\n%d”,螺柱->移动);
}
提供ID的输入值后出错。但在直接分配值时工作。
s1.ID
和s1.mob
不是指向int的指针,您应该使用&s1.ID
和&s1.mob您的scanf
参数似乎缺少其中一些:&code>scanf(“%d”,s1.ID)代码>是错误的。谷歌如何使用scanf
获取int
。编译器警告可帮助您发现此类错误。哈哈,错误!!!顺便说一句,它说编译成功。谢谢!尴尬的:/