执行这段代码,程序会输出abc吗?
#include <stdio.h>char *getstr() {
char *p = "abc";
return p;
}
int main() {
char *str = 0;
str = getstr();
printf("%s\n",str);
}
--------------------编程问答-------------------- 亲,你不会自己去调试么???反正的机器打印出来了 abc --------------------编程问答-------------------- 会有可能输出abc,因为那块内存还没有被程序重新写入数据。但是这种行为,,,大家都懂的。 --------------------编程问答-------------------- 会出来abc呀, --------------------编程问答-------------------- char *p = "abc";这里p指向了一个常量字符串,常量是在程序整个生命周期都存在,就像静态变量一样,不管你把静态变量定义在哪里,在程序结束之前它都是存在的。所以会打印出abc。 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 会是会,但是如果你真的在你的程序里面用了这个东西,你会找不到地方去哭 --------------------编程问答-------------------- 这么用不太合理啊 --------------------编程问答-------------------- 我觉得还是看编译器怎么编译了
补充:移动开发 , iPhone