1樓:擺渡人生
首選 上面的語句 多了個分號 語句 或者最後的 分號 改逗號
然後 就是按你的意思來 這兩個語句結果 是不同的
上面的a 不變 而後邊的a是自加的 肯定結果不一樣
char a[]="1234" *p; for(p=a;*p!='\0';p=p+2) printf("%c%s",*p,p); 輸出的值是什麼?為什麼???
2樓:匿名使用者
程式共有兩次迴圈自:
第一次迴圈,p指向bai陣列a的首地址,所以列印du%s時打zhi印出1,列印%s(字串)時列印出1234;
第二次迴圈,p偏移2個單位,指dao向3,所以列印%s時列印出3,列印%s(字串)時列印出34;
所以程式列印出它們的組合:11234334
3樓:世界v真的很亂
程式共有兩bai次迴圈:
第一du次迴圈,p指向陣列zhia的首地址,所以列印%c時打dao印出版1,列印%s(字串)時權列印出1234;
第二次迴圈,p偏移2個單位,指向3,所以列印%c時列印出3,列印%s(字串)時列印出34;
所以程式列印出它們的組合:11234334
4樓:匿名使用者
第一趟:1 1234
第二趟:3 34
第三趟:=='\0'結束
<9;i++) *(p+i)=i+1; printf("%d \n",a[1][2]); }
5樓:匿名使用者
#include
main()
其中p=&a[0][0]; 就是取二維陣列的首地址(二維陣列佔用的記憶體空間是線性的)
for(i=0;i<9;i++) *(p+i)=i+1; 就是給這個二維陣列賦值,也就是
a[0][0]=0+1,a[0][1]=1+1,a[0][2]=2+1,a[1][0]=3+1,a[1][1]=4+1,a[1][2]=5+1。。。。。。
所以答案是6
6樓:匿名使用者
main()
//輸出結果是6;這裡主要的知識是陣列知識。陣列不管是幾維,在記憶體中都是一維的,這麼說,二維陣列可以認為是這樣一種一維陣列,而這個一維陣列的每一個元素都是一維陣列,就是這樣。以2維陣列為例,資料其實是按a[0][0],a[0][1],a[0][2],。。。。
a[2][2]儲存的。另外陣列名也是指標,指向陣列的第一個元素,陣列括號裡面的數就是從首地址偏移的位置。a[3]=*(a+3)就是這個意思。
所以p[i]=*(p+i);也就是從a[0][0]偏移i個元素。而陣列元素按照之前所說順序進行排列。所以可以得出a[1][2]是第6個元素,也就是從a[0][0]偏移了5(a[0][0]是第一個元素),所以a[1][2]=*(p+5);p[5]=5+1=6;所以a[1][2]=6.
不明白可追問。
7樓:
for(i=0;i<9;i++)
*(p+i)=i+1;
將二維陣列看作一維陣列,a[1][2]即相當於a[5]*(p+0)=1 即a[0]=1
*(p+1)=2 即a[0]=2
*(p+2)=3 即a[0]=3
*(p+3)=4 即a[0]=4
*(p+4)=5 即a[0]=5
*(p+5)=6 即a[0]=6
正數 負數和0的0次冪等於幾,正數,負數和0的0次冪等於幾說出為
任何數的bai0次冪都等於1 0除外 0次冪du是為了zhi冪的運算a m daoa n a m n 推廣到m n或者回m答,虛數不但0次冪是有意義,值是1,虛數的虛數次冪也有對應的值,如i i,這些都是實數運演算法則的 推廣 和 延伸 談論一個運算是不是有意義,看你站在什麼尺度上來理解。任何數的0...
0x00ff和0xff的區別,0x000xff是什麼型別的編碼,在微控制器中如何具體使用
有區別的 前者是16位,後者只有8位。轉換成32進位制後。一位32進位制 是 5位2進位制數而0x00ff 和 0xff轉換成版32進位制後 至少權需要兩位32進位制數表示 2為32進位制數是10位,很明顯後者只有8位不夠,在數值上2者沒有區別,但在位數上是有很大區別的。試想如果一塊晶片只有8位,那...
51微控制器定時器0,TH0和TL0計算時間
th0 256 tl0 的值就是定時器的計數個數啊 定時器幾個指令週期計一個數,你自己設定的你不知道麼?th0 256 tl0 65536 微控制器中定時計數器的th0和tl0的值如何計算 40 微控制器在不同的工作方式下,計數器的位數不同 因而最大計數值也不同。現在設最大計數值為m,那麼在各方式下...