1樓:匿名使用者
tc2.0就是16位編譯系統,就是int是16位.而我們現在用的vc什麼的,int是32位.
指標的加減操作,都隱含地乘上了資料型別的大小,所以p++實際上是移動乙個int的大小,即2位元組.所以a錯
2.因為是16位系統,所以int d是16位,char ch[2]也是16位,這個聯合體的大小就是16位,2位元組.且ch[0],ch[1]分別對應d的低位元組和高位元組.
2樓:千里疾風
16位編譯系統是指int型別佔16個位的系統,也就是說1個int變數時2個位元組,因此第一題的答案應該是a錯,如果是32位的系統,short int相當於16位系統的int
char型別的東西不管在什麼樣的系統上都是8位1位元組的,所以1個union需要4個位元組
在16位編譯系統上,若定義int a[]={10,20,30},*p=&a;當執行p++;後下列敘述錯誤的是() a. p向高位址移了
3樓:愛因斯坦波
嗯,你的想法是正確的,應該是int *p=a;或者int *p=&a[0];
在16位編譯系統上,若有定義inta[]={10,20,30},*p=&a;當執行p++後,下列錯誤的是()
4樓:匿名使用者
a錯, p與a+1等價p向高位址移動乙個int型別位元組數
5樓:匿名使用者
這個應該是選a哇
另外inta=,*p=&a;
應該是inta=,*p=a;
134. 在16位編譯系統上,若有定義int a[]={10,20,30},*p=&a;當執行p++;後下列敘述錯誤的是( )。
6樓:匿名使用者
選擇ap++後p指標指向a[1]的首位址
c語言若有下列說明和語句:int a[4][5], (*p)[5]; p = a; 則對a陣列元素
7樓:匿名使用者
如果定義int (*p)[n];p1=a;p1++後,p指向a[1][0];
則p+j將指向a[0]陣列中的元素a[0][j]。
由於a[0]、a[1]┅a[m-1]等各個行陣列依次連續儲存,則對於a陣列中的任一元素a[i][j],指標的一般形式如下:
p+i*n+j,相應的如果用p來表示,則為*(p+i)+j;
元素a[i][j]相應的指標表示為:
*( p+i*n+j) ,相應的如果用p1來表示,則為*(*(p+i)+j)。
推出以下的等價關係:
a+i == p+i;
a[i] == p[i] == *(a+i) == *(p+i);
a[i][j] == p[i][j] == *(a[i]+j) == *(p[i]+j) == *(*(a+i)+j) == *(*(p+i)+j)。
8樓:鍵盤未找到
a.表示&a[1].
b.a[3]
c.&a[1][3]
d.a[0][2]
9樓:匿名使用者
首先呢,a是二維陣列,不解釋。
然後呢,p是乙個指標,什麼樣的指標呢,就是指向一維陣列的指標,而且這個一維陣列的元素個數呢是5.
然後呢,p=a;就是把p指向a陣列。
分析選項:
a p+1 .因為p是一維陣列指標,所以p每+1就是+1行。錯誤。
b *(p+3)是指第4行的首位址,訪問不到元素。需要再*c *(p+1) + 3 對位址+3 沒啦意義d *(*p+2) *p是第0行首位址 +2 呢就是第二個元素的位址,*取資料咯。
10樓:一方通通
本題中定義了乙個二維陣列c和乙個陣列指標p並初始化讓它指向c,顯然此時p中的各元素為位址,
a中p+1,此時的1代表的長度是整個二維陣列c的長度,p+1將讓p指向c陣列後面的元素,故不能引用c陣列中的成員,故選項a錯誤;同理,選項b和選項c都不正確,
d中p[0]+2代表的是第一行第三個元素的位址,而*(p[0]+2)將代表第一行第三個元素的值。
一道c語言題,請大家幫幫忙,謝謝,求詳解
11樓:匿名使用者
a錯誤,p++即p=p+1;向後移動乙個儲存單元,因為16位編譯系統上,int佔兩個位元組
12樓:二麻子
選a,當指標++是都是移動乙個儲存單元.....16位作業系統,這裡也就是加了乙個int 2個位元組...然後p就指到a[1]了...
計算機二級考試題
電氣三班c語言選擇題
若有如下定義語句
13樓:物理公司的
p指向a[2]就是30,*p--如果是直接輸出的話
printf(*p--)//就是輸出30
先p--在printf(p)的話就是20,和後置的--一樣
14樓:匿名使用者
是30第一步*p列印當前所指向的內容即*(a+2)指向的是a陣列的第三個元素,所以先輸出30然後p--p指標減1指向20的位址
「16位ms dos子系統」遇到無效指令,怎麼辦
如果電腦出現了16位子系統遇到無效指令,可能是硬碟出了問題,需要換塊硬碟解決問題。硬碟的磁性圓盤由硬質材料製成,有很高的精密度。硬碟連同驅動器一起封閉在殼體內,在它的容量比優盤和光碟大得多,讀寫速度比優盤和光碟快得多。也有可能是系統設定的問題,解決方法是 1 開始 執行 在開啟對話方塊中輸入 gpe...
為什麼在c 上寫好且執行的程式在ACM編譯器上卻編譯錯誤
如果真想做acm,就不要用vc6.0,vc對標準c 支援很差。用dev c 正賽windows系統都沒有,要學會用emacs netbeans eclipse 若出現編譯錯誤,各oj上都會有提示,告訴你哪行錯了。常見vc正確,但標準c 錯誤的 1.void main 純粹m yy gcc和iso c...
win7旗艦64位系統,為什麼16G記憶體只顯示8G
方法如下 bai 1.開啟 執行du 對話方塊,輸入msconfig,進zhi入設定 2.選擇 啟動 daoboot 標籤專,選擇 高階選屬項 進入啟動高階選項中 3.勾選 最大記憶體 儲存重啟就好 4.如果還不行,就再次進入 系統設定 去除 最大記憶體 和 處理器數 兩個選項,再次重啟就好。5.此...