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的...