//下面程序不能输出"abcde"......把
#include "stdio.h"
int aa();
main()
{
printf("%s",aa());
}
int aa()
{
char k[5]={"abcde"};
//把5改成21以上 就能正常输出,为什么???
return &k[0];
}
希望大家在编译环境里试验下再回答------主要是讨论下原理和问题所在
别拘束,只当讨论,学习....
kaithinking, mhl1003: 把5改成6是不行的,这就是我奇怪的地方,
BlueWanderer:函数立刻就返回输出一般不会被覆盖的....而且多次试验都存在这种情况....vc中也存在
L_o_o_n_i_e :使用公共变量就非我本意了,
luofan9: 函数类型返回什么都一样,用过c的都知道
Legend258:的代码能返回我要的,我的
如果用作 dll输出函数时候 输出 字符串....该如何用呢
我们继续讨论.....