读书人

!为何输入到最后会出错

发布时间: 2013-07-08 14:13:00 作者: rapoo

求高手指教!!为何输入到最后会出错
#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
[解决办法]

引用:
你这个name应该用二维数组, char *name[ ];

你这个邪法也有错误啊,要么用二级指针,要么写成
char (*name)[number]
;
[解决办法]
#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("请输入第");
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\t",c[n]);
printf("%s\t",name[n]);
printf("%d\t",b[n]);
printf("%d\t",d[n]);//改成制表符,看的清楚。
printf("\n");
}
}

[解决办法]
scanf("%s %d %d",&name[n],&b[n],&d[n]);}

[解决办法]
#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]);
}
}

读书人网 >C语言

热点推荐