求高手指教!!为何输入到最后会出错
#include<stdio.h>
#include<math.h>
int a,n,d[10],b[10],c[10];
char name[10];
void main()
{
printf("请输入时刻表的条数\n");
scanf("%d",&a);
for(n=0;n<a;n++)
{
printf("请输入第");
printf("%d",n+1);
printf("个选手,并输入其状态,进入输入1,退出请输入2\n");
scanf("%d",&c[n]);
if(c[n]==1)
{printf("请输入其余信息");
scanf("%s %d %d",&name[n],&b[n],&d[n]);}
if(c[n]==2)
{ printf("请输入其姓名");
scanf("%s",&name[n]);
b[n]=0;
d[n]=0;
}
}
for(n=0;n<a;n++)
{ printf("%d\n",c[n]);
printf("%s\n",name[n]);
printf("%d\n",b[n]);
printf("%d\n",d[n]);
}
}
求帮助,好人全家一生平安快乐!! C
[解决办法]
char (*name)[number];
#include<stdio.h>
#include<math.h>
int a,n,d[10],b[10],c[10];
char name[10][10];
int main(){
printf("请输入时刻表的条数\n");
scanf("%d",&a);
for(n=0; n<a; n++){
printf("请输入第%d个选手,并输入其状态,进入输入1,退出请输入2\n",n+1);
scanf("%d",&c[n]);
if(c[n] == 1){
printf("请输入其余信息");
scanf("%s", name[n]);
scanf("%d%d", &b[n], &d[n]);
}
if(c[n]==2){
printf("请输入其姓名");
scanf("%s", name[n]);
b[n] = 0;
d[n] = 0;
}
}
for(n=0; n<a; n++){
printf("%d\n",c[n]);
printf("%s\n",name[n]);
printf("%d\n",b[n]);
printf("%d\n",d[n]);
}
return 0;
}
#include<stdio.h>
#include<math.h>
int a,n,d[10],b[10],c[10];
char name[10][10];//这里修改一下,用二维数组,每一行存储一个名字
void main()
{
printf("请输入时刻表的条数\n");
scanf("%d",&a);
for(n=0;n<a;n++)
{
printf("请输入第%d个选手,并输入其状态,进入输入1,退出请输入2\n",n+1);
scanf("%d",&c[n]);
if(c[n]==1)
{
printf("请输入其余信息");
scanf("%s%d%d",&name[n],&b[n],&d[n]);
}
if(c[n]==2)
{
printf("请输入其姓名");
scanf("%s",&name[n]);
b[n]=0;
d[n]=0;
}
}
for(n=0;n<a;n++)
{
printf("%d\n",c[n]);
printf("%s\n",&name[n]);
printf("%d\n",b[n]);
printf("%d\n",d[n]);
}
}