当前位置: 代码迷 >> C语言 >> [求助]一个看似没错却出错的程序
  详细解决方案

[求助]一个看似没错却出错的程序

热度:120   发布时间:2007-01-09 15:25:07.0
我的运行结果是一个hell和一个笑脸!
----------------解决方案--------------------------------------------------------
这个完全是一个随机的事件,

----------------解决方案--------------------------------------------------------

我想也是!每次在用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函数前面
----------------解决方案--------------------------------------------------------
编译器的内存分配也是不一样的嘛。
----------------解决方案--------------------------------------------------------
  相关解决方案