作业帮 > 综合 > 作业

C语言:若有定义 int *p,则表达式 p++ 的值就是 p 所指向的变量的地址值加1?

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/05/07 13:24:47
C语言:若有定义 int *p,则表达式 p++ 的值就是 p 所指向的变量的地址值加1?
请判断正误并说明理由
int a[]={1,2,3}

int *p=&a[1]

printf("%d",*(p++))

printf("%d",*(p--))

//为什么两次输出结果一样
C语言:若有定义 int *p,则表达式 p++ 的值就是 p 所指向的变量的地址值加1?
这是错的,p没有进行初始化
再问: int a[]={1,2,3}

int *p=&a[1]

printf("%d",*(p++))

printf("%d",*(p--))

//为什么两次输出结果一样
再答: 自增和自减运算符可以有前缀或后缀。
拿自增来说,++p : p的地址自增1,表达式为p加1后的地址
p++ : p的地址自增1,表达式为p原来的地址
自减的原理同上~望采纳