谁给解释下这个程序怎么还能打出内容

yangmo 发布于 2010/12/02 11:16
阅读 263
收藏 1

char (*tmp)[30];

tmp=malloc(900);

char *str="abcdefghijklmn";

strncpy(tmp[0], str, 9);

free(tmp);

printf("string=%s",tmp[0]);

 

要是把900换成60打出的字符串就是空,怎么会这样呢?

加载中
0
晓寒
晓寒

你用的什么编译器,我怎么就打印不出来东西呢。(我的vs2010, cpp)

0
y
yangmo

引用来自#2楼“晓寒”的帖子

你用的什么编译器,我怎么就打印不出来东西呢。(我的vs2010, cpp)

用的gcc呀,linux下面的

0
晓寒
晓寒

引用来自#3楼“yangmo”的帖子

引用来自#2楼“晓寒”的帖子

你用的什么编译器,我怎么就打印不出来东西呢。(我的vs2010, cpp)

用的gcc呀,linux下面的

....羡慕用gcc的。

没有用过,没有这个编译器,没法调试。

羡慕,

i have a dream that one day i can use gcc
i have a dream that one day i can use linux instead of windows
but now, it's only a dream
oh,bad programming life

0
答复哈
答复哈

引用来自#4楼“晓寒”的帖子

引用来自#3楼“yangmo”的帖子

引用来自#2楼“晓寒”的帖子

你用的什么编译器,我怎么就打印不出来东西呢。(我的vs2010, cpp)

用的gcc呀,linux下面的

....羡慕用gcc的。

没有用过,没有这个编译器,没法调试。

羡慕,

i have a dream that one day i can use gcc
i have a dream that one day i can use linux instead of windows
but now, it's only a dream
oh,bad programming life

有啥好羡慕的,装个虚拟机...想怎么整,就怎么整 ....

0
晓寒
晓寒

引用来自#5楼“答复哈”的帖子

引用来自#4楼“晓寒”的帖子

引用来自#3楼“yangmo”的帖子

引用来自#2楼“晓寒”的帖子

你用的什么编译器,我怎么就打印不出来东西呢。(我的vs2010, cpp)

用的gcc呀,linux下面的

....羡慕用gcc的。

没有用过,没有这个编译器,没法调试。

羡慕,

i have a dream that one day i can use gcc
i have a dream that one day i can use linux instead of windows
but now, it's only a dream
oh,bad programming life

有啥好羡慕的,装个虚拟机...想怎么整,就怎么整 ....

恩,有道理。

其实,主要是,没有这个时间去搞别的。

这个,人在”江湖“,身不由己啊。

0
Socrates Duan
Socrates Duan

我理解不可能为空,指针tmp[0]分配了内存后都没有初始化,怎么会为空?

兄弟,你gdb下看看。

返回顶部
顶部