#include<at89x51.h> #include<stdio.h> void main(void) { unsigned int a,b,c,d; unsigned int *p=&a; unsigned int **q=&p; SCON=0x50; TMOD=0x20; TH1=0xE8; TL1=0xE8; TI=1; TR1=1; a=5;b=6;c=7;d=8; printf("%p,%p,%p,%p,%d,%d\n",p,&a,q,&p,*p,**q); printf("0:%d,%d,%d,%d\n",a,b,c,d); { unsigned int a,e; a=10;e=100; printf("1:%d,%d,%d,%d,%d\n",a,b,c,d,e); { unsigned int b,f; b=11;f=200; printf("2:%d,%d,%d,%d,%d,%d\n",a,b,c,d,e,f); } printf("1:%d,%d,%d,%d,%d\n",a,b,c,d,e); } printf("0:%d,%d,%d,%d\n",a,b,c,d); } printf("%p,%p,%p,%p,%d,%d\n",p,&a,q,&p,*p,**q); 這段為什么最后兩個輸出是3072,0 不是應該是5,5的么?
未命名11111.jpg (118.83 KB, 下載次數: 70)
下載附件
2012-2-26 13:03 上傳
|