【发布时间】:2011-05-26 12:10:30
【问题描述】:
#include<stdio.h>
int main()
{
int i = 10;
int *p = &i;
printf("\n address of initialized pointer p: %u \n", p);
p = &(*p);
printf("\n modified address of initialized pointer p:%u value:%d valuez address: %d \n", p, *p, &(*p));
return 0;
}
代码输出:-
初始化指针p的地址:3221221820
初始化指针p的修改地址:3221221820 value:10 valuez地址:-1073745476
为什么“&(*p)”在赋值语句和 printf 语句中使用时表现不同?
更新 抱歉,只是 printf 中的格式说明符错误;)。感谢您的回复和指出。
【问题讨论】: