- 论坛徽章:
- 0
|
原帖由 cheng_lai_shun 于 2008-7-26 13:42 发表 ![]()
foo(char *aa) {
char a[LEN]="abcde";
aa = a;
}
这个函数a是栈内存函数结束被销毁 之后aa指向的值不可预见
“abcde”size为6赋a它肯定装不下
看看林悦的高质量编程吧
谢谢。关键问题确实在这里。修改为如下代码,运行通过。
#include <stdio.h>
#define LEN 6
int main() {
char bb[LEN];
foo(bb);
printf("%s\n",bb);
return 0;
}
foo(char *aa) {
char *a="abcde";
int i=0;
for(i=0;i<=LEN;i++,aa++)
*aa=a[i];
} |
|
|