【发布时间】:2015-10-21 07:31:22
【问题描述】:
在上面的代码中,我无法输入学生的姓名,因为它给出了空指针分配错误。如何解决这个问题,我可以输入卷号并显示结果很好
#include<stdio.h>
#include<conio.h>
union student
{
int roll_no;
char name[10];
}s1,*a;
void main()
{
clrscr();
*a=s1;
printf("Enter roll_no : ");
scanf("%d",a->roll_no);
clrscr();
printf("Roll No : %d",a->roll_no);
getch();
clrscr();
printf("Enter name : ");
scanf("%s",a->name);
clrscr();
printf("Name : %s",a->name);
getch();
}
【问题讨论】:
-
您的意思是使用
union而不是struct? -
@Bathsheba 你是正确的,联合没有意义。
-
*a=s1;也没有意义,可能会导致程序崩溃
标签: c pointers null variable-assignment unions