0

我正在处理一个小代码,我需要通过 scanf 函数将整行作为输入,我认为有一个格式说明符 "[^\n%*c]" 有人可以告诉我它的语法以及它是如何工作的?

4

2 回答 2

1

最好的方法可能是使用fgets.

char str[20];
fgets(str, 20, stdin);
printf("%s", str);

没有理由在scanf这里使用。请记住,这fgets也会将换行符放入缓冲区中。它可以像这样删除:

str[strcspn(str, "\n")] = 0;
于 2021-08-15T15:29:11.840 回答
0
#include <stdio.h>
int main()
{
   char str[20];
   scanf("%19[^\n]%*c", str);
   printf("%s\n", str);
 
   return 0;
}
于 2021-08-15T15:08:56.743 回答