#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int N,n,i;
char t[1000],s[1000];
scanf("%d",&N);
while(N--)
{
gets(t);
scanf("%d",&n);
for(i=0;i<n;i++)
s[i] = t[i];
s[n] = '\0';
puts(s);
}
}
這樣寫為什麼程序運行的時候會出錯啊/(ㄒoㄒ)/~~
每次進入while循環的時候fflush(stdin)清空一下輸入緩沖區,不然遺留的回車符會被gets讀走
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int N,n,i;
char t[1000],s[1000];
scanf("%d",&N);
while(N--)
{
fflush(stdin);
gets(t);
scanf("%d",&n);
for(i=0;i<n;i++)
s[i] = t[i];
s[n] = '\0';
puts(s);
}
}