关于链表输入输出问题
include <stdio.h>
#define maxsize 100
struct student
{ char num[10];
char name[10];
char sex[2];
char tel[15];
char addr[50];
};
struct list
{ int len;
struct student stu[maxsize];
};
struct list ListInit(struct list L)
{ L.len=0;
return(L);
}
struct list ListCreate(struct list L)
{ int i=0;
char x1[10],x2[10],x3[2],x4[15],x5[50];
char ch;
do
{ printf( "\nNum: "); fflush(stdin);
scanf( "%c ",x1); fflush(stdin);
printf( "\nName: ");
scanf( "%c ",x2); fflush(stdin);
printf( "\nSex: ");
scanf( "%c ",x3); fflush(stdin);
printf( "\nTel: ");
scanf( "%c ",x4); fflush(stdin);
printf( "\nAddr: ");
scanf( "%c ",x5); fflush(stdin);
strcpy(L.stu[i].num,x1);
strcpy(L.stu[i].name,x2);
strcpy(L.stu[i].sex,x3);
strcpy(L.stu[i].tel,x4);
strcpy(L.stu[i].addr,x5);
i++;
ch=getchar();
} while(ch!= '0 ');
L.len=i;
return(L);
}
void ListPrint(struct list L)
{ int i;
for(i=0;i <L.len;i++)
{ printf( "\nNum:%s\nName:%s\nSex:%s\nTel:%s\nAddr:%s\n ",L.stu[i].num,L.stu[i].name,L.stu[i].sex,L.stu[i].tel,L.stu[i].addr);
}
printf( "\n ");
}
void main()
{ struct list L;
L=ListInit(L);
L=ListCreate(L);
ListPrint(L);
}
输出好像还有点问题哦!
不知道哪里错误!郁闷了
应该怎么实现输入和输出才是最好的呢?
多个字符串 scanf();的输入应该怎么办呢?
是不是应该分多行写?
那么输出呢?
[解决办法]
scanf函数的格式说明符不是%s吗???????据我在课本上看到~字符串的输入调用scanf函数是格式说明符号是%s的......