#include <stdio.h>char *getstr() {
char *p = "abc";
return p;
}int main() {
char *str = 0;
str = getstr();
printf("%s\n",str);
}

解决方案 »

  1.   

    亲,你不会自己去调试么???反正的机器打印出来了 abc
      

  2.   

    会有可能输出abc,因为那块内存还没有被程序重新写入数据。但是这种行为,,,大家都懂的。
      

  3.   

    会出来abc呀,
      

  4.   

    char *p = "abc";这里p指向了一个常量字符串,常量是在程序整个生命周期都存在,就像静态变量一样,不管你把静态变量定义在哪里,在程序结束之前它都是存在的。所以会打印出abc。