一个简单的C语言程序
#include "stdio.h"char temp[]="bbbb";
main()
{
void sub(char *p);
char p1[]="aaaa";
printf("%s\n",p1);
sub(p1);
printf("%s\n",p1);
}
void sub(char *p)
{
p=temp;
printf("%s\n",p);
}
在主程序中第二次printf("%s\n",p1); 为什么不输出bbbb呢?让大家见笑了,谢谢 小心使用指针..不过这些概念我已经忘得7788了.... #include "stdio.h"
char temp[]="bbbb";
main()
{
void sub(char **p);
char p1[]="aaaa";
printf("%s\n",p1);
sub(&p1);
printf("%s\n",p1);
}
void sub(char **p)
{
*p=temp;
printf("%s\n",*p);
} 回复 1# sanguanko
调用sub(p1)时,实参P1是复制传入的 数组名是数组的首地址,你只是把地址p1给了*p,p1相当于指针常量,常地址!
页:
[1]