这是一个基本的问题,但我似乎很困惑。fgets在内部如何工作?
#include<stdio.h>
int main()
{
char a[100];
printf("Enter a string\n");
scanf("%s",a);
}
基本上上面是我想达到的。 如果我输入一个字符串
James Bond
那么我想,要存放在数组中。 但问题是因为存在一个空白空间,只有James字被存储。 那么我该如何解决这个问题。
UPDATE
)下面我明白与fgets(给出的答复后会是一个更好的选择。我想知道fgets的内部工作,为什么它能够将字符串存储在空间中,因为scanf无法做到这一点。
使用'fgets'而不是'scanf'。几乎总是。 –
@Chris Lutz我想知道fgets是如何工作的,为什么fgets能够接受空间而不是scanf? –