C语言中:
第一段代码
static char str[1];
gets(str);
puts(str);
运行后,输入abcdef,输出abcdef,不报错。
第二段代码
char str[1];
gets(str);
puts(str);
运行后,就报错。
现在不明白 为什么 加上static后 就不报错呢 而且能正确接受"abcdef"
多谢
第1个回答 2007-07-16
static表示后面定义的变量是永久性的,如果不加就是局部性的,有可能是这个问题,一般不大会出现.
第2个回答 2007-07-09
有可能与你用的编译器有关,我问了很多高人,都说你的第二个,没有错;有可能与你的程序有关本回答被提问者和网友采纳
第3个回答 2007-07-09
字符串定义必须加 static char