一段离奇的c语言程序

2025-02-24 01:21:51
推荐回答(4个)
回答1:

#include
int main()
{ int a,j;
char c[20][20];
scanf("%d\n",&a);
//a=2;
for(j=1;j<=a;j++) gets(c[j]);
printf("程序结束\n");
return 0;
}

呵呵,只是因为输入的时候没有要求换行,结果gets就直接在a后获取了一次字符\n;所以for循环里就只用再获取一次就结束了.

你照我改的代码去做,在scanf内加个\n将键盘的回车符直接过滤掉,for就会要求你输入两次字符串了.

回答2:

用scanf函数输入的时候,写入数字后回车符滞留在缓冲区,而gets函数遇到回车结束,所以第一次输入直接被缓冲区的回车符结束掉了。

在scanf函数后加一句getchar();就可以了。

回答3:

for(j=1;j<=a;j++) 看到吗
J《=A A=2 所以循环2次

回答4:

不太可能吧?