c語言中aa《1 a 1什麼意思

2021-04-22 02:19:47 字數 3532 閱讀 3637

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