-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