----------------解决方案--------------------------------------------------------
这个完全是一个随机的事件,
----------------解决方案--------------------------------------------------------
我想也是!每次在用p[40]会输出一个结果,在p[20]也会得到另外的一个结果,问题就在这里,为什么每次我只要改为
p[40]就会得到和以前运行p[40]时完全一样的结果,在改为p[20]时也是一样!
----------------解决方案--------------------------------------------------------
应该是内存使用的是同一块吧 使用rand()也是的 老是出来一个数 不知道为什么......
----------------解决方案--------------------------------------------------------
我用vc++6.0的运行结果也是'.'和8楼的一样,让我想不通啊!用c free 3.5就是hell和一个笑脸!
[此贴子已经被作者于2007-1-9 16:20:29编辑过]
----------------解决方案--------------------------------------------------------
这个问题有什么好的解决办法呢?
----------------解决方案--------------------------------------------------------
char a[20]="hello!" ;
char *str=a;
void hello()
{
char p[20] = "helloworld";
str = p;
printf("%s\n",str);
}
void main()
{
hello();
printf("%s\n",str);
}
。。。。。。
----------------解决方案--------------------------------------------------------
野指针
要把P的申明放到MAIN函数前面
----------------解决方案--------------------------------------------------------
编译器的内存分配也是不一样的嘛。
----------------解决方案--------------------------------------------------------