puts功能是输出字符串. gets是输入字符串:#include <stdio.h> void main( void ) { char buf[256]; puts( "Hello world from puts!" ); gets(buf); //输入字符串,但要在256个字符之内 } 输出: Hello world from puts!
很明显啊,你使用了别人的内存啊,你的c只有3个字节,你使用了abcdefghi10个字节,不出错真是奇迹。函数原型:char*gets(char*buffer);使用的buffer是个内存地址,二维数组也是内存地址,所以他们也可用在二维中。但是这样用很容易计算错误,如果数学非常好,可以使用。书上的意思是输入2个是安全的,2个以上是不安全的。