在下面的代码循环中,
以下是错误的程序:
scanf("%[^\n]s",array)
无法工作。它不等待输入并被跳过。但在%
之前加上一个空格可以解决这个问题。为什么呢?以下是错误的程序:
#include <string.h>
#include <stdio.h>
int main()
{
int t;
scanf("%d",&t);
while(t--){
char arr[199];
scanf("%[^\n]s",arr);
printf("%s",arr);
}
return 0;
}
以下是正确的代码:
#include <string.h>
#include <stdio.h>
int main()
{
int t;
scanf("%d",&t);
while(t--){
char arr[199];
scanf(" %[^\n]s",arr);
printf("%s",arr);
}
return 0;
}
为什么在%
前需要加一个空格才能按预期工作?