在16位編譯系統上,若有定義inta10,20,30p當執行p 後,下列錯誤的是()

2021-03-20 12:49:29 字數 1880 閱讀 8892

1樓:匿名使用者

a錯, p與a+1等價p向高地址移動一個int型別位元組數

2樓:匿名使用者

這個應該是選a哇

另外inta=,*p=&a;

應該是inta=,*p=a;

在16位編譯系統上,若定義int a[]={10,20,30},*p=&a;當執行p++;後下列敘述錯誤的是() a. p向高地址移了

3樓:愛因斯坦波

嗯,你的想法是正確的,應該是int *p=a;或者int *p=&a[0];

134. 在16位編譯系統上,若有定義int a[]={10,20,30},*p=&a;當執行p++;後下列敘述錯誤的是( )。

4樓:匿名使用者

選擇ap++後p指標指向a[1]的首地址

在16位編譯系統上,右有定義int a[ ]={10,20,30},*p=&a;,當執行p++;後,下列說法錯誤的是________。

5樓:匿名使用者

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的低位元組和高位元組.

6樓:千里疾風

16位編譯系統是指int型別佔16個位的系統,也就是說1個int變數時2個位元組,因此第一題的答案應該是a錯,如果是32位的系統,short int相當於16位系統的int

char型別的東西不管在什麼樣的系統上都是8位1位元組的,所以1個union需要4個位元組

c語言,int a[]={10,20,30},*p=&a;當執行p++後,p向高地址移了幾個位元組?為什麼?

7樓:匿名使用者

錯誤,指標型別不符。 p的型別是int *,&a的型別是int (*)[3]。 考慮改為:

int a=,(*p)[3]=&a; 的話,p++後,p向高位移動了sizeof(int)*3個位元組,在16位編譯器裡是6個位元組,32位裡是12個位元組。 或者改為: int a=,*p=&a[0]; 則p++後,p向高位移動了sizeof(int)個位元組,在16位編譯器裡是2個位元組,32位裡是4個位元組。

一道c語言題,請大家幫幫忙,謝謝,求詳解

8樓:匿名使用者

a錯誤,p++即p=p+1;向後移動一個儲存單元,因為16位編譯系統上,int佔兩個位元組

9樓:二麻子

選a,當指標++是都是移動一個儲存單元.....16位作業系統,這裡也就是加了一個int 2個位元組...然後p就指到a[1]了...

電氣三班c語言選擇題

計算機二級考試題

若有如下定義語句

10樓:物理公司的

p指向a[2]就是30,*p--如果是直接輸出的話

printf(*p--)//就是輸出30

先p--在printf(p)的話就是20,和後置的--一樣

11樓:匿名使用者

是30第一步*p列印當前所指向的內容即*(a+2)指向的是a陣列的第三個元素,所以先輸出30然後p--p指標減1指向20的地址

在16這個數當中,十位上的數是表示個位上的數是表示()個一。這道題怎麼做

在16這個數當中,十位上的數是 1 表示1個 10 個位上的數是 6 表示 1 個一。在16這個數當中,十位上的數是 1 表示1個 10 個位上的數是 6 表示 6 個一。這道題怎麼做?1 10 6 6 16個位上是 表示6個 十位上是 表示 個 16個位上是 6 表示6個 1 十位上是 1 表示 ...

16的個位上是表示十位上是表示,16的個位上是,表示6個,十位上是,表示1個

16的個位上是 6 表示6個 1 十位上是 1 表示1個 10 6,1,1,1請採納謝謝 16中的 1 在 十 位上,表示 6 在 個 位上,表示 16中的 1 在 十 位上,表示 1個十 6 在 個 位上,表示 6個1 解答過程如下 1 數位順序表從右端算起,第一位是 個位 第二位是 十位 第三位...

宇航員在月球上的體重只有地球上的1 6 一位宇航員在地球上體重78千克,到了月球上,體重減輕了多少千克

在月球上的體重 78 1 6 13 千克 減輕的體重 78 13 65 千克 質量不變,但重量變為原來的1 6,減少了5 6,自己算去 宇航員在月球上的體重只有在地球上體重的1 6。一位宇航員叔叔在地球上的體重是72千克,到了月球上,72 72 1 6 72 12 60 千克 72 1 1 6 60...