1樓:匿名使用者
先執行後面一部bai分,du在執行+=
即:先判斷(a<1)是zhi否成立
dao1.成立 a += a ,即a = a+a;
2.不成立 a+=1 即 a = a+1;
這個式內子主要考察運算子優容
先級的問題,可以去複習一下運算子的優先順序,以後這種問題就不難了,祝你進步。
2樓:匿名使用者
主要是區分
來操作符的優先順序自,這題的陷阱在bai於一不小心就把「du+=」符合操作符理解zhi為a=a+...這種理解說錯誤dao的,很容易讓人混淆。
條件操作符"?:"、符合操作「+=」和括號()的優先順序有大到小是:
"()" ->" ? :" -> "+=",所以,這式子,首先是判斷a<1? 如果a<1 則返回a與a進行+=,也就是a+a;
如果a>=1,則返回1與a進行+=,也就是a+1
3樓:匿名使用者
後面是條件表示式 , 看a是自加 還是加1 a<1就+a a>1的話就加1
如a為5 則a+=1
a=0 a+=a
4樓:匿名使用者
a=a+a或a=a+1
主要看a和1的關係。
5樓:歷竹時棋
(a<1)?a:1的意思是:判斷
baia和1的大小,當dua<1時
a取值為zhia,也就是a=a,當a>=1時a=1.
a+=*表示dao的意內思是a=a+*;
a+=(a<1)?a:1
所以上表示式表容示的意思是
當a<1時
a=a+a;
當a>=1時a=a+1;
6樓:成夏真招剛
(a<1)?a:1的意思是:判斷
a和1的大小,當a<1時
a取值為a,也內就是a=a,當a>=1時a=1.
a+=*表示的意思是a=a+*;
a+=(a<1)?a:1
所以上表達容式表示的意思是
當a<1時
a=a+a;
當a>=1時a=a+1;
c語言中,&a+1和&(a+1)的區別是什麼
7樓:匿名使用者
語句中,b = *a+1 -- 指標a 指向的數值加1,*a 是數值, b 等於 那個數值 加 1。
或 把a看成陣列元素 b = a[0] + 1;
*(a+1) -- 指標 (a+1) 指向的數值b = *(a+1) -- 可以看成陣列元素 b = a[1];
8樓:匿名使用者
a是指標?是的話,&(a+1)就是a指標指向的地方+1(型別)的位置;若是指向的是陣列的話,&a+1就是增加整一個陣列的地址了。比如int b[8],*a=b,&a+1就是增加4*8=32個位元組了。
9樓:聽不清啊
c語言中,
"a"佔2個位元組,一個'a'和一個'\0'(字串結束符),它是一個字串。
'a'就只佔一個位元組,即單個字元'a',它是一個字元。
10樓:匿名使用者
c語言為了使寫法更方便,單條語句更簡短,增加了縮寫形式。
這兩種方式是一樣的,沒有任何區別。
除此之外,還有a *= 1,a %= 1,只要是操作符都可以。
11樓:我是你0爸
呃,,,樓上的各位都沒有答到本質上 從本質上講,「a」是一個指標常量,而'a'則是一個數值。也就是說,在編譯器看來,「a」的值是一個地址(比如:0x84f39ea0),而'a'的值則是a的ascii碼(即97)。
樓主用printf列印這兩個值看看就知道了 另外,當「」裡的字串有多個字元時,它指向字串的第一個字元。
12樓:匿名使用者
&a+1是a的地址加上1,&(a+1)是(a+1)的地址
&是地址運算子和引用運算子
13樓:匿名使用者
注意,後者是非法的。
14樓:匿名使用者
int b[2];
int *a;
a=b; //a指向陣列b首地址,暨b[0]的地址*a + 1 // *a就是取a指向地址的值,暨b[0],所以*a+1 == b[0]+1
*(a+1) // a+1,指標+1,就是指標指向下一個地址,暨b[1]的地址,所以*(a+1)== b[1]
15樓:燕清揚
例如a=2;
a++;輸出結果為2;但是記憶體中它的值自加1了。(先輸出a再運算)例如a=2;
++a;輸出結果為3;記憶體中也是3.(先運算a再輸出值)。
例如a=2;
a+=1;意思等同於a=a+1;
16樓:匿名使用者
取a的地址加1
取a+1的地址
17樓:認不倒你
&a+1 :a的下一個位置的指標
&(a+1): 錯誤
18樓:
事實上是一樣的
a>>=1的意思就是a>>1並賦值給a;
可能執行的效率會有錯
19樓:曉呈呈
a++ 先取值再自加
++a 先自加再取值
a+=1 等同 a=a+1
20樓:匿名使用者
這裡的a=&a[0][0];
a+1=&a[1][0],也就是過了一個a[0][1],因此是加了8個位元組
&a+1是跳過整個陣列的地址,也就是加了16位元組
21樓:匿名使用者
a是相當於a[0][n]
a+1是a[1][n]
n是幾就差n*4個位元組嘍
a就是陣列首地址地址
c語言中a&(a-1)=?,這句話是什麼意思,想幹什麼,在哪能用
22樓:丨紅姬丨
這個是刪除一個bit,每次a&(a-1)的結果會比a的二進位制少一個bit,用個迴圈操作就可以算出有a多少個bit了
23樓:右灸
正解:這是檢測a是否是2的n次冪,即a如果是2、4、8、16、32、64、128、256、512、2048、4096... 計算的結果就是0,否則就是非0
24樓:
a和a-1兩個值進行按位與運算。如a=10,則
25樓:無心人隨緣
計算一個數的二進位制中1的個數:
while(a)
c語言中*(*(a+0)+1)是什麼意思
26樓:飛天失憶豬
a指向一個二維數列,是一個指標的指標,*(*(a+0)+1)是第一行第二列元素的值
c語言中,c2 c1 aA是什麼意思
樓主的 不全,抄之前應該是有襲int c1,c2 的定義吧,兩個單引號 中有個字元也可以表示整數的,因為字母a z有對應的ascll碼,a對應97,a對應65 這個去查ascll碼錶就能查到,每個字母有唯一對應的ascll碼,也就是一個整數,這是計算機儲存字元的方式 所以上式實際上等同於c2 c1 ...
在c語言中1是什麼意思,c語言中1是什麼意思
在c語言中 1 的意思是 將1的二進位制名 向左移20位。左移一位專相當於對該數屬 乘2,左移n位就相當於乘n個2。把1,位左移20位 按二進位制來移動 在32位機中,十進位制的1就是 00000000 00000000 00000000 00000001,位左移20位就是 00000000 000...
請問c語言中pb1什麼意思,c語言中ab1是什麼意思
首先p是指標變數,這個意思就是p所指向的地址儲存的內容將變成b 1的值,也就是改變了p指向的值 指標p的值,等於 b 1 c語言中 a b 1是什麼意思 5 相當於這樣 a a b 1 也就是先算出b 1的值,然後乘以a的值,最後賦值給a 相當於a a b 1 比如a為3,b為5 a 3 5 1 首...