当前位置:编程学习 > wap >>

执行这段代码,程序会输出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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,