-2
这里是我的代码,作为输入计数,然后把这个数量的城市作为输入。
我想打印所有从该字母开始的城市,但程序在将字符作为输入之前结束。 但它并不需要文字输入Scanf没有输入字符
#include <stdio.h>
void main()
{
char a[20][10];
char ch;
int i,n;
printf("Enter nos of cities\n");
scanf("%d",&n);
for (i = 0; i < n ; i++)
{
scanf("%s",a[i]);
}
printf("\n");
printf("Enter 1st character\n");
scanf("%c", &ch);
for (i = 0; i < n ; i++)
if(ch==a[i][0])
printf("%s\n",a[i]);
}
OUPUT:
Enter nos of cities
3
asd
zxc
qw
Enter 1st character
谢谢得到了答案 –
-1没有研究问题。 SO上有这个重复的TONS。除了解决问题的方法外,(1)使用标准的'int main(void)'而不是'void main()'。 (2)检查'n'是否不大于20.(3)限制'scanf'的输入以避免缓冲区溢出:'%9s'(4)检查'scanf'的返回值。 –
'line feed in buffer'是新的'i ++ + ++ i':((( – ThingyWotsit