1樓:匿名使用者
應該選擇b,這個涉及到符號優先順序的問題,++符號的優先順序要比*高,所以應該是*(p++),
不過,b最終等於1,因為,++在p的後面所以要先遠算完了這個式子,然後p再++;
2樓:匿名使用者
b。後置++的優先順序高於一元*。
3樓:匿名使用者
選【b】
後自增是在表示式結束後再自加的,加不加括號都一樣。。
4樓:匿名使用者
選b ++不管擴不擴起來都是後執行。
c語言 定義則執行y=(*--p)++後,y的值是
5樓:
這好解釋啊,因為++是後++,要等到把(*--p)的值賦給y後(*--p)的值才會增1。所以結果是y=1,a[0]=2。你可以用下面的**驗證:
int main(void),y,*p=&a[1];
y=(*--p)++;
printf("%d %d\n",y,a[0]);
return 0;}
c語言 int a[]={1,2,3,4,5,6,7,8,9,10},*p=a,則值為3的是
6樓:馮老師(必果學院
這bai是乙個指
針求du值的問題,答案zhi應該是a
答案分析如dao下:
首專先,所有的逗號屬運算子,是從左向右進行的,其值為右邊結果計算的值
a p+=2,*(p++) 先計算p+=2 再計算*p 最後計算p++ 表示式的值在第二步計算確定的 為p[2] = a[2] = 3。表示式計算完畢之後,p指向4
b p+=2,*++p 先計算p+=2,再計算++p 最後計算*p 表示式的值在最後一步確定 為4
c p+=3,*p++ 先計算p+=3,再計算*p 最後計算++ 表示式的值在第二步確定為4,而後a[3]的值變為5
d p+=2,++*p先計算p+=2,再計算*p 最後計算++ 表示式的值在最後一步確定,為4,而後a[2]的值變為4
7樓:匿名使用者
答案a.
陣列定義是a[0]=1,a[1]=2,a[2]=3, ...,a[9]=10
a. p += 2使p指向a[2], *(p++)表示先取*p的值, 然後p增加版1(指向a[3]), 所以取權得的值是a[2]=3
b. p += 2使p指向a[2], *++p表示先p增加1(指向a[3]),然後取*p的值,所以是a[3]=4
c. p += 3使p指向a[3], *p++表示先取*p的值, 然後p增加1(指向a[4]), 所以取得的值是a[3]=4
d. p += 2使p指向a[2], ++*p對*p的值增加1, 所以取得的值是a[2]=a[2]+1=4
還有一種寫法是(*p)++, 表示先取*p的值, 這個值再增加1
一道c語言的題設inta1,b2,c3,d4則
剛剛錯了!自右往左 先算a 2 2,2為真取值為a,為假取值為 c就是假,取 c 然後就是c 上式相當於a 括號裡面的,明顯c 3,d 4,所以c顯為真且a 則a 1,故最終結果的值為1。以上僅供參考 最好去自己程式設計除錯就ok了,除錯的每步都可以檢視每個變數的結果 c語言環境中,設a 1,b 2...
以下程式的執行結果是inta10,b50,c30ifa
程式的執行結果是 105010 因為a b為假,所以後續語句不執行,只執行無條件語句c a 最後的輸出就是 105010 int a 10,b 50,c 30 if a 結果應該是 a 10 b 30 c 10 因為a b是在if的作用域內部,其他兩個賦值版都不是所以權a b不成立,a b不執行 b...
設樹T的深度為4,其中度為1,2,3,4的結點個數分別為
有8個,求葉子結點數即求度數為0的節點的個數 若設一棵m叉樹中度數為0的結點數為n0,度數為1的結點數為nl,度數為m的結點數為nm,則n0 l n2 2n3 3n4 m 1 nm 設樹t的深度為4,其中度為1,2,3,4的結點個數分別為4,2,1,1。則t中的葉子結點數為?設樹裡面度來為0,1,2...