main()
{
int i
int *p
printf("please input the number:\n")
scanf("%d",&i)
p=&i /*将变量i的地址赋给指针变量*/
printf("the result1 is: %d\n",&i)//输出的是i的地址. 这个值随机,而且可能每次运行不一样.
printf("the result1 is: %d\n",*p)//输出的是i的值.
p++ /*地址加1,这里的1并不代表一个字节*/
printf("the result2 is: %d\n",p)//输出自加后的p值, 也就是之前的&i值, 加上sizeof(int)
printf("the result2 is: %d\n",*p)//这里是越界操作, p已经指向了一个未知区域, *p值随机, 可能崩溃.
printf("the result2 is :%d\n",&(i+1))//&是取变量地址, 只能对变量操作,不能对表达式取地址.因为表达式没有地址.
}
#include int main(){ int iscanf("%d",&i)printf("个位数:%d\n",i%10)printf("十位数:%d\n",i/10%10)printf("百位数:%d\n",i/100)return 0}