这是我的代码,将计数作为输入,然后将该数量的城市作为输入 我想打印从该字母开始的所有城市,但程序在将字符作为输入之前结束。 但它不需要字符输入
#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
答案 0 :(得分:2)
使用scanf(" %c", &ch);
。
将前一个输入的输入作为输入。因此,请在%c
之前添加一个空格。
答案 1 :(得分:0)
在第15行打印换行符后,只需添加一行getchar();
即可
因为printf("\n")
使用换行符字符scanf
。 getchar()
在这里跳过(吃掉)换行符。