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