高手請進C運算子操作

時間 2022-03-13 06:15:05

1樓:匿名使用者

a1++返回a1的原值,所以a2[a1++]=++a1;就是a2[1]=2;

strlen(const char*)這個函式是從字串引數位置開始掃描,直到遇到一個null值或者\0位置,在c中null式這麼定義的

typedef null 0

a[0]=0;所以求得的值即c=0;

2樓:匿名使用者

首先告訴你,成熟的程式設計師不會去寫「a2[a1++]=++a1;」這樣的**,因為這樣除了難讀,沒任何好處。

其次,fun(a,b)的呼叫中處理過程是這樣的:

fun內,先取a1值,為1,確定了要給a2[1]賦值,然後計算等式右邊的值「++a1」,是2,再給a2[1]賦值為2,然後執行++a1,即把主程式裡的a變為3。這時b的值是,因第一位元組為0,所以用strlen()求字串長度得到0,也就是c為0。

估計你把a2[a1++]=++a1;一句的執行處理順序弄錯了

3樓:匿名使用者

int fun(int& a1,char*a2)main()

;int c=fun(a,b);

4樓:大衍之

a2[a1++]=++a1;

a1++是後自家的有就是說在這個語句執行之後在自加,++a1,是說這個語句之前就自自加,那麼

就是a2[1]=2;

strlen(a2);

不管p是指向哪兒,strlen(p)會從p指向的地址開始尋找 '\0 ',找到後返回兩者之間的地址長度

5樓:陳學陽

c++的優先順序

優先順序 操作符 結合性

1 :: 左

2 . -> () 左

3 ++ -- ~ ! - + & * () sizeof new delete castname_cast單目操作符 右

4 .* ->* 左

5 * / % 左

6 + - 左

7 << >> 左

8 < <= > >= 左

9 == != 左

10 & 左

11 ^ 左

12 | 左

13 && 左

14 || 左

15 ?: 右

16 = *= /= %= += -= <<= >>= &= |= ^= 右

17 throw 左

18 , 左

如果對您有幫助,請記得采納為滿意答案,謝謝!祝您生活愉快!

c 運算子轉換,C 型別轉換運算子怎麼用

public static explicit operator convertobject byte b 這段 直接寫在了名稱空間下面。這是不行的。你把他放到convertobject這個結構的定義裡面去就可以了就這樣 struct value public static explicit oper...

c語言運算子

夜 晨 a 按位或 00000101 00000010 00000111 結果7b 邏輯或 只要有一個為真,總的值就為真,只有當所有的都為假時,總的式子才為假。兩邊都為真 結果 真 非零數 c 按位與 00000101 00000010 00000000 結果 0 d 邏輯與 只要有一個為假,總的表...

c語言中運算子是取整運算子嗎,C語言中「 」運算子是取整運算子嗎?

終極至尊粉 printf f,f 10.0 3,10.0 3 雙目運算具有左結合性。參與運算量均為整型時,結果也為整型,捨去小數。如果運算量中有一個是實型,則結果為雙精度實型。printf d,d 10 3,10 3 printf f,f 10.0 3,10.0 3 c語言有以下幾種取整方法 1 直...