1樓:木生子識時務
-i--就是先進行i--運算,然後再取其負值。
下面是c語言運算子的優先順序
:--與負號處於同一優先順序,而結合方向是從右到左,所以是先進行i--運算,再取負號。
i--就是把i自減1,但是它的返回值卻是i,這就是i--與--i的區別,--i的返回值就是i-1了。
具體看下面一個程式:
#include
int main(void)
結果為:
2樓:匿名使用者
先使用-i的值,然後i = i-1;
3樓:俟夕覃棋
這個是c語言中的,按位取反操作
舉個例子
~100=-101,
首先看等號左邊
(100)
的二進位制表示為:
0110
0100
按位取反的意思就是每一位取反,0變1,1變0所以:~100
的二進位制表示為:1001
1011
所以等號左邊=1001
1011
再看右邊
-101.
一旦看到出現負數,那麼這個數一定是按有符號數的規則來表示的。一個二進位制數
按位取反並加一以後就可以得到它自己的負數的補碼,也就是說:
~x+1=-x
所以,我們把101按位取反加一
先取反:
~101=10011010
再加一:
~101+1=10011011=-101
所以等號右邊=10011011=左邊,所以等號成立。
p.s:補充一句,計算機記憶體裡的邏輯儲存位是非常複雜的,我這裡即使講得再清楚也無法保證你完全明白。
一般來說,組合語言的書的開頭部分會詳細講解這部分知識以服務於組合語言,請參閱之。
c語言中a[i- -]是什麼意思
4樓:樑浩堂之
a指的bai是陣列。在括號裡的,是一個du自增zhi自減運算子。
如果讓daoi等於3,a[++i]的結果專是屬a[4].
但如果是a[i++].那麼結果是a[3].
第一個式子,是在本身這個語句中i的值加一,然後再運算。
而第二個式子,是用其本身的值去運算,然後再下一個句子的時候再加一其實不難,好好理解就好啦
5樓:
滿意的話,只求速採納
給你舉個例子:
int a[4]=;
int i=3;
a[i--]=9; 此時陣列變為
回 1,2,3,9 i值變為2
a[i--]=9;
可以分解答為:
a[i]=9;
i=i-1;
6樓:匿名使用者
這個表示式的值是a[i],並且在執行完這條語句後再執行i--
7樓:淡淡的死去
陣列裡邊a[i]的前邊一個數,相當於先用a[i]參加運算然後記a[i]=a[i-1]
8樓:深魚兒
if i=8;
a[i --] 就是a[8] ~~
i --就是 先用i , i再減去1~~
c語言中a[++i]=是什麼意思?
9樓:四舍**入
a指的是陣列,在括號裡的,是一個自增自減運算子。
如果讓i等於3,回a[++i]的結果是a[4].
但如果是a[i++].那麼結果是a[3].
第一個式子,是在答本身這個語句中i的值加一,然後再運算。
而第二個式子,是用其本身的值去運算,然後再下一個句子的時候再加一。
10樓:漫遊靜心
a指的是bai陣列。在
括號裡的,是一du個自增自減運算zhi符。dao如果讓i等於3,a[++i]的結回果是a[4].
但如果是a[i++].那麼結答果是a[3].
第一個式子,是在本身這個語句中i的值加一,然後再運算。
而第二個式子,是用其本身的值去運算,然後再下一個句子的時候再加一其實不難,好好理解就好啦
11樓:
滿意的話,只bai求速採du納
給你舉zhi
個例子:dao
int a[4]=;
int i=3;
a[i--]=9; 此時陣列變為內 1,2,3,9 i值變為2a[i--]=9;
可以分解
容為:a[i]=9;
i=i-1;
12樓:匿名使用者
a[++i]=1等價於——「i = i + 1; a[i] = 1」
a[i++]=1等價於——「a[i] = 1;i = i + 1;」
13樓:
如果現在 i=2; a[++i] 就是 a[3]; 賦值給 a[3];
++i 是字首 加加,所以要先增1。
14樓:深魚兒
if i=8;
a[i --] 就是a[8] ~~
i --就是 先用i , i再減去1~~
15樓:
先把i加一,再給a[i]賦值。
16樓:匿名使用者
首先你要明bai白什麼是表示式,du還有變數
。a是一個變zhi量。
a++,dao++a都是a加了回1.
比如a原來是1,執行
答了a++或++a後,a變數的值就是2了
至於a++和++a的區別主要是在表示式上的區別。
++a是先執行了a加1後,參與表示式的計算。
a++是a先參與表示式的計算,後執行自加1.
比如:int a,b;
a=1;//如果你想把a的值1,付給b.那麼,但你又想使得a加1。你就可以這麼做
b=a++;//++在a之後,先把a的值付給b,然後再本身加1 。這時候b=1,a=2了。
//如果你還不懂得話。b=a++;的意思 就是b=a;a=a+1;這兩句意思
//而b=++a 就是 a=a+1;b=a;的意思
至於a++=a+a+1
好像寫錯了吧
是a+=a+a+1
優先順序等於 a=a+(a+a+1)//a+=b 是 a=a+b 的簡化
!= 不等於,是條件運算子,用來判斷真假的。
比如1!=2; 表示式的值就是假,也就是0;
c語言很多式子都是簡化的,這樣雖然可以節省**,卻比較讓人糊塗。
17樓:匿名使用者
a++就是運算後+1,在表示式裡面的時候還是a而++a就是先a+1然後代入表示式計算。
!=是不等於的意思
c語言中,cpp是啥意思?
18樓:匿名使用者
c語言和cpp是兩個不同的概念。
c語言一
般指標準的c程式語言,ansi c。
而cpp是c語言基礎上的擴充套件,即回所說的答c++語言。其在c的基礎上,增加了類的概念,並引入了引用,過載,多型的理念,使程序導向的c語言進步到物件導向的c++語言。同時c++語言完美相容了c語言。
cpp的**為,c++的英文寫法為c plus plus, 其中plus為加的英文寫法。取開頭字母后,c++就別簡寫成了cpp。
.cpp是c++語言的標準源副檔名。
c語言中i3是什麼意思,在c語言中i3是什麼意思
i 3 就是i除以3的餘數。如果是作為邏輯表示式,那就是 i除以3的餘數不等於0 是求餘符號,比如說7 就是7 3然後求出 回2.答.1 那這個7 3 1 在c語言中i 3是什麼意思 是c語言中的自加賦值運算子 x 3 相當於 x x 3 與之相類似的運算子還有 自乘一個 數專 自減一個數 自除屬一...
c語言中作用C語言中作用
取決於在scanf中使用還是在printf中使用。在scanf中使用,則新增了 的部分會被忽略,不會被引數獲取。例如輸入為 12 abc那麼12將會讀取到變數a中,但是後面的abc將在讀取之後拋棄,不賦予任何變數 例如這裡的字元陣列b 在printf中使用,表示用後面的形參替代的位置,實現動態格式輸...
c語言中ax yxy什麼意思,C語言中a x y x y 什麼意思
這是一個三目運算子,如果 x 與 y 相等的話,把 x的值賦給a,否則,將 y的值賦給a 在這裡,x是先對x進行自減1再執行語句,y是再執行完語句再執行y自加1,也就是說現在解析出來的表示式為 x 1 y 後面同理!中文版 就是 判斷 x 是否等於y y 是算完後加 忽律 假如等於 就 a x,假如...