我想把这些作为输入
3
abc def
deg fgh
ghdfete fdgtr dhjgg
输出应为
abc def
deg fgh
ghdfete fdgtr dhjgg
我写的代码
#include <stdio.h>
int main(){
int t;
scanf("%d",&t);
char a[100];
while(scanf("%[^\n]%*c",a) == 1){
printf("%s\n",a);
--t;
if(t == 0)
break;
}
return 0;
}
不打印任何东西。请帮忙。
答案 0 :(得分:1)
考虑将fgets
用于所有输入。
#include <stdio.h>
int main(){
char value[50] = "";
int t;
int result = 0;
char a[100];
do {
printf ( "enter an integer\n");
if ( fgets ( value, sizeof value, stdin)) {
if ( 1 != ( result = sscanf ( value, "%d", &t))) {
if ( EOF == result) {
fprintf ( stderr, "found EOF\n");
return 0;
}
}
}
else {
fprintf ( stderr, "problem fgets\n");
return 0;
}
} while ( result != 1);
printf ( "enter text\n");
while( fgets ( a, sizeof a, stdin)) {
printf("%s\n",a);
--t;
if(t == 0)
break;
}
return 0;
}