#include<stdio.h>
#include<conio.h>
int main()
{
char test [7];
for(int i=0;i<10;i++)
scanf("%c",&test[i]);
puts(test);
getch();
return 0;
}
我正在使用 DevC++(大学规则)并且我知道 gets() 没有边界检查,所以我故意使用 for() 循环来输入字符串。当我输入一个大于数组大小的字符串时,puts 正在打印一个额外的字符。为什么这样 ??
示例输入:helloworld 输出:hellowos
示例输入:Hellopeople 输出:Hellopep