1樓:匿名使用者
p是指標,先指向a地址,後又改為指向b地址,*p = b;
pp是指標的指標,它指向了p的地址,而p又指向b的地址, 所以**pp取兩次值 就代表了b的值;
*號意義不同:
(1) 在定義時int **pp, *p ,表示定義的變數pp、 p為整型指標;
(2)printf("%d,%d\n",*p,**pp);這句中 *p表示取地址p中的值;
最好搞明白*符號的意義和指標的用法,那樣你就理解了
輸入的結果和運算過程
2樓:
結果是 : 20 20
pp=&p
也就是說pp存放的是p的地址。。。
p = &a p存放a的地址,指向a
p = &b p存放b的地址了,指向b了
輸出*p也就是p指向的變數值,是b的值,也就是20**pp: *pp是p的地址,*pp和p指向的相同的變數的值。。也是b
希望能幫到你。。。
3樓:對飲悲歌
輸出是20 20
過程:p的地址傳給pp,a的地址傳給p,b的地址傳給p,覆蓋了a的地址,即此時指標p指向b,故輸出為20 20
4樓:騎著毛驢遛遛
pp指向p的地址,p的地址最終存放的是資料b,所以結果輸出20,20
若有定義和語句
5樓:
應為指標p最終指向的是b的地址所以 *p輸出的是b的值
**pp是指標的指標 pp=&p 乾的事情是將p的地址指向pp,此時*pp 相當於 p 所以 **pp 可以看成是
*(*pp) 即* p所以輸出的是b的值
下面這c語言題怎麼做
6樓:匿名使用者
輸出:20 20------------
pp = &p; pp就指向p的地址
p = &a;p就指向a的地址
p= &b;p就指向b的地址了
所以最後結果pp的值=p的值=b的值
在int a=10,*p=&a;語句中,p的值是
7樓:左手半夏右手花
變數a的地址值,因為p是個指標型變數,&a表示a的地址,*p=&a表示指標p指向a的地址。
int是資料庫中一種資料型別。作為函式,int函式指資料庫中常用函式中的「向下取整函式」。在程式語言(c、c++、c#、java等)中,常用於定義整數型別變數的識別符號。
在一般的電腦中,int佔用4位元組,32位元,資料範圍為-2147483648~2147483647[-2^31~2^31-1];unsigned int 表示無符號整數,資料範圍為[0~2^32-1]。
擴充套件資料int &p為引用,而int p為定義變數。
二者區別如下:
1 、引用在定義的時候必須賦值,否則編譯會出錯。正確的形式為int &p = a;其中a為int型變數。
2、引用在定義時不會分配空間,只是初始化變數的一個別名。如int &p = a;的形式,後續對p的操作,與對a操作完全等價。
8樓:匿名使用者
答案是 c
變數 p 應該是個二級指標 int **p;
若有定義語句 double x,y,px,py,執行了px x,py之後,正確的輸入語句是
因為是double型所以 a的正確寫法是scanf lf lf x,y 同理b也錯了,答案dx,y的輸入得有地址符 所以答案是c 2009年上半年全國計算機等級考試二級c語言筆試試題及答案 c語言除錯下面的程式,指出錯誤的原因並進行適當修改 1 沒有標頭檔案 2 main函式沒有返回值型別 3 px...
若有定義 int x,a則語句x a 3,a 1 執行後,x a的值依次為請解釋下,謝謝
x a 3,a 1 括號裡是逗號運bai算符,規則 從du左到右依zhi次求值,最dao後面的為最終變 內量,所以過程是 容 a 3 臨時變數 a 1 臨時變數存放4x 臨時變數。x 4 a 3,a 1 是個逗號表示式,表示式依次從左向右執行,表示式的值為最後一個表示式即a 1的值 這樣,a 3,x...
大一C語言題目若有定義語句 int a
核心在於p的型別。定義等效於 int p 3 這裡p是一個陣列,包含三個元素,每個元素型別為int 所以a p為陣列名,不可以賦值。b p 0 為int 而a為二維陣列名,等效於int 型別不匹配。c a 1 2 為a的一個元素,型別是int,所以 a 1 2 是int 和p 0 型別相同,所以這個...