c输入有问题 求救

来源:百度知道 编辑:UC知道 时间:2024/06/03 06:46:57
为什么输入一个整数,就直接退出了 ,按照代码不是应该在读取整形和字符型数据吗,怎么改才能实现 谢谢了
#include <stdio.h>

#define N 5

int main()
{
int a[N],h;
char b[N];
int i;
scanf("%d",&h);
for(i=0;i<h;i++)
{
printf("请输入第%d个,按照(0,A)的格式,可以以空格隔开:\n",i+1);
scanf("(%d,%c)",&a[i],&b[i]);
}
for(i=0;i<h;i++)
{
printf("a[%d]=%d ",i,a[i]);
printf("b[%d]=%c ",i,b[i]);
}
printf("\n");

return 0;
}

晕,我给你写的可以啊,怎么能退出呢,你输入的时候要用(%d,%c)的格式啊,要先输入左括号,然后输入一个整数,然后输入一个逗号,然后输入一个字符号,然后输入一个右括号~~~ 明白了不~~~
哦,自己改了下是不是,你改直接改那个N就可以了,想输入几对就把后面改成几就可以了啊~~~
#include <stdio.h>

#define N 5 //修改这里就可以了

int main()
{
int a[N];
char b[N];
int i;
for(i=0;i<N;i++)
{
fflush(stdin);
printf("请输入第%d个,按照(0,A)的格式,可以以空格隔开:\n",i+1);
scanf("(%d,%c)",&a[i],&b[i]);
}
for(i=0;i<N;i++)
{
printf("a[%d]=%d ",i,a[i]);
printf("b[%d]=%c ",i,b[i]);
}
printf("\n");

return 0;
}

scanf("(%d,%c)",&a[i],&b[i]); 怎么这样写啊
改为scanf("%d,%c",&a[i],&b[i]);
你这个不能用空格隔开吧
要是能用空格的话,要这样改:
scanf("%d",&a[i]);
getchar();
scanf("%c",&b[i]);

for(i=0;i<h;i++)
{ getchar(); /*加上这条语句*/
printf("请输入第%d个,按照(0,A)的格式,可以以空格隔开:\n",i+