疑问解答
本帖最后由 1ytks 于 2022-3-31 10:10 编辑#include <stdio.h>
point (char *p){
p+=3;
}
main(){
char b={'a','b','c','d'},*p=b;
point(p);
printf("%c\n",*p);
}
题目就是这样结果是a我想问的是 为什么p+=3 那步就感觉没排上用场
我试着输出%dp和 %db 的地址发现他们是一样的 也就是p没有变成p=p+3
所以我的疑问就是p+=3执行了没有 这代码也无语了 本帖最后由 傻眼貓咪 于 2022-3-31 11:05 编辑
#include <stdio.h>
void point(char **p){
*p = *p + 3;
}
int main(){
char b = {'a', 'b', 'c', 'd'}, *p = b;
point(&p);
printf("%c\n", *p);
}
页:
[1]