tc2.0 与 vc++6.0的又一不同????
#include <stdio.h>
void main()
{
char *s;
gets(s);
printf("%s", s);
getchar();
}
用TC 2.0与vc++6.0编译均可通过但是vc++6.0编译的却得不到正确执行为何?
问题点数:20、回复次数:6Top
1 楼xieguanghua()回复于 2001-08-06 18:28:13 得分 15
你把变量申明为字符数组就应该对了,因为申明为指针并未实际开辟内存空间,不能正确读入字符串!Top
2 楼comingtrue(comingtrue)回复于 2001-08-06 18:29:32 得分 5
因为你没给s分配空间,s是悬浮指针。Top
3 楼Sword_Sharp(多米诺)回复于 2001-08-06 18:29:48 得分 0
可是为何tc可以?是不是编译器有区别?
Top
4 楼panda_w(好想睡啊!)回复于 2001-08-06 18:32:09 得分 0
定义应该如此吧
char a[256];Top
5 楼seesi(不是我想骗你,是我不知道怎么才能不骗!)回复于 2001-08-06 19:18:28 得分 0
有误!Top
6 楼Sword_Sharp(多米诺)回复于 2001-08-07 11:29:23 得分 0
我还是不太懂,能否说得详细点?麻烦大家了,我基础不好 :(Top




