gets()函数读取整行输入,直至遇到换行符,然后丢掉换行符,存储其余字符,并在这些字符的末尾添加一个空字符使其成为一个C字符串。
puts()函数与printf("%s\n",)相同。后面跟着一个换行符。
#include <stdio.h>
#include <stdlib.h>
#define size 100
int main(int argc, char *argv[]) {
char words[size];
gets(words);
puts(words);
return 0;
}
gets(words)words是一个数组名。数组名会被转换成该数组的首元素的地址。
gets只知道数组的开始,不知道有多少元素。
所以如果输入的字符串过长,就导致缓冲区溢出。