【发布时间】:2017-07-11 10:30:13
【问题描述】:
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
int main(){
int num;
scanf("%d",&num); // The input is 3 so i use it to simplify the question
char array[num][1000];
fgets(array[0],1000,stdin);
fgets(array[1],1000,stdin);
fgets(array[2],1000,stdin);
printf("%s %s %s",array[0],array[1],array[2]);
}
第一个输入,即 scanf 是 3 然后我输入圣雄和甘地。现在它应该为最后一个 fget 请求另一个输入,但程序结束打印圣雄甘地。但是我不使用 scanf 那么结果是正确的。如果可能,请提供代码。 P.S- 我是第一次使用 fgets,所以可能有一个非常基本的错误。
【问题讨论】:
-
@xing 我怀疑 printf 正在打印 \n。我该如何纠正它
-
@xing 你能提供一个代码吗