这个不是传址么?为什么值还是过不来?
#include <stdio.h>void po(char *pt){
pt+=3;
}
void main(){
char *pt,str[]="adcd";
pt=str;
po(pt);
printf("%s",pt);
}
2006-06-28 18:01
本质上C语言只传值,不传址!
要达你的目的,可改成
#include <stdio.h>
void po(char **p){
*p+=3;
}
void main(){
char *pt,str[]="adcd";
pt=str;
po(&pt);
printf("%s",pt);
}

2006-06-28 18:06
2006-06-28 18:14
当初通过函数交换一对普通变量的值:
swap(&a,&b) ==> void swap(int *p,int *q)
如今想改变指针变量的值,势必要涉及 char **p

2006-06-28 18:19

2006-06-28 20:41
han2y进步快。楼主接受上面这个也许容易理解一些。

2006-06-28 21:34