24 設有定義 int a 1,p float b 2 0 char c A以下不合法的運算是 A

2021-04-18 03:49:47 字數 2179 閱讀 8291

1樓:匿名使用者

char c = 'a' 這裡

baic是一個字元變du量,c--,是減的字元對zhi應的ascii值,減dao1之後,仍然有相應的字元與之

內對應。

而int *p = &a; 這裡

容p是指向整形的指標。而p++訪問的是,整形a後面的那個整形。但由於a不是整形陣列,所以a後面的四個位元組是未知的。

如果int a[10]; int *p = a;那麼p++是合理的。

2樓:匿名使用者

a選項:*p=&a;p指標本身沒有賦值,而是p指標指向內容賦值了,如果p++,那麼p指標不知專指向**去了屬

。d選項:char c='a';c內容是被賦予了字元a的ascii碼值十進位制的65,那麼c--就是十進位制64,相當於是ascii碼錶中的'@'。

3樓:匿名使用者

我看都合法。

編譯執行都沒有問題。

設有語句int a[10],*p=a;,則下面的語句中不正確的是

4樓:匿名使用者

前三個賦值語句都是正確的。選項d是錯誤的,a是陣列,只能對陣列元素賦值,要有下標。選d。

5樓:匿名使用者

d是錯的,陣列名是地址,這個地址不可以修改。

設有定義int a[]={1,3,5,7,9},*p=a; while(*p!=3) p++; 結果為7的表示式是: *(p+2)能否詳細解釋下

6樓:匿名使用者

int a=,*p=a; //定義一個陣列a,共五個元素;同時定義一個指標p指向陣列a的首地址

p -> a[0]=1 即p是a[0]的地址p+1 -> a[1]=3 p+1是a[1]的地址,下同p+2 -> a[2]=5

p+3 -> a[3]=7

p+4 -> a[4]=9

while(*p!=3) p++; //*p是取地址中的內容(資料),當*p不是3時,p++完成向後移動一個資料

當*p==3時,p當前值為 原p+1 ,即指向a[1]此時的p +1指向a[2]=5

所以,此時的p +2指向a[3]=7

即:*(p+2)==7

7樓:lzh劉振華

int a=,*p=a; //p為指標,p指向int型陣列a的首地址即 &a[0]

while(*p!=3) // *p 是p所指向的陣列的元素 ,當*p 的值是3時退出while迴圈

p++; // p指向陣列a的下一個元素。

當while迴圈結束時 p 指向 a[1]的地址,*p == a[1];

p+2 指向 a[1]下一個元素a[2]的下一個元素a[3],即p+2是指向a[3]的指標,所以*(p+2) 的值是7

8樓:匿名使用者

int a=,

*p=a; // 將首個元素地址賦給p 此時*p=1

while(*p!=3)

所以 結果為7的表示式是: *(p+2) 等價於 *(p+4)

9樓:孝感

初始時p指向a陣列的開始.

經過while(*p!=3) p++;

時p指向了3

所以p+2就是指向7這個位值.

若有下面的程式段: char s[]="china"; char *p; p=s; 則下列敘述正確的是________ 問題在下邊,求詳解

10樓:匿名使用者

答案:d

a:s是字元陣列,p是指向字串的指標

b:顯然陣列s中的內容和指標變數p中的內容不相等,應該換一種說法「陣列s中的內容和指標變數p所指向的字串的內容相等」

c:s陣列的長度為6(包含結束符'\0'),p所指向的字串長度為5d:*p='c',s[0]='c'

11樓:匿名使用者

p=a="china";若有說明語句 char a="it is mine";char*p="it is mine"則以下不正確的敘述是___d____。a)a+表示的是字元t的地址 b)p指向另外的字串時,字串的長度不受限制 c)p變數中存放的地址值可以改變 d)a中只能

c語言設有定義floatx1234567,則執行

lz注意,先不管是不是輸出 對於 int x 100 0.5 100.0這個算式被強制轉換為整型的是分回子部分,而分子除以答100.0這個浮點型的資料之後整個算式就又變回浮點型了,要輸出的資料真是整型也沒事,因為你現在是按float型輸出,它會再次強制轉換資料 單精度浮點型在輸出時保留小數點後6位 ...

設有變數定義charaainti3,j

a定義為字元 a a 在ascii碼中是第97個 設int x 3,y 5 表示式x y 3 a 10.0的值是 1 設int型變數x有初始值3,則表示式x 5 10的值.首先,x 是後置加加,先使用變數,然後變數再回加1.所以答,x 先使用變數的值3與5相乘,得到15 由於x為int型變數,所以,...

在c中定義時int和double有何區別

1 型別不同 int 和 double 雖然都是基本資料型別,但 int 是整形,double 是浮點型。2 在計算中的儲存方式不同 int在32位計算機中佔4個位元組,這4個位元組的在記憶體中存放的順序為低位元組存在低地址,高位元組存在高地址。double是64位的,在儲存方式上都是遵從ieee的...