1、gets函数类似于scanf函数,用于读取标准输入,但是scanf函数在读取字符串时遇到空格就会认为读取结束,所以当输入的字符串中存在空格时,就需要使用gets函数进行读取。
gets只能读取字符,scanf除了可以读取字符,还能读取整型、字符型等。
c是字符数组or字符指针?
char c[20]
c是一个字符数组,但是编译器给c内部存了一个值,c里边存储的值的类型是字符指针
2、puts函数类似于printf函数,用于输出标准输出
#include <stdio.h>
int main()
{
char c[20];
//字符数组的数组名里存的就是字符数组的起始地址,类型是字符指针
//&c[0]==c
gets(c);
puts(c);//等价于printf("%s\n",c);
return 0;
}
scantf其实也有办法让它读取到空格,但是比较复杂,所以用gets()函数。
gets函数从STDIN(标准输入) 读取字符并把它们加载到字符串中,直到遇到换行符(\n)或到达EOF。
get函数会自动会自动在末尾加上结束符,不会出现越界问题