1樓:匿名使用者
根據c語言的運算子優先排序,上面的表示式中,先計算小括號中的算式,得出結果j=5; 再算i+j,得出結果6。
2樓:
++j<=>j=j+1
所以j=i+(++j)<=>j=i+(j+i)因此第一次的計算結果為j=5+(0+1)
第二次的計算結果j=5+(6+1)
第三次的計算結果j=5+(12+1)
依次計算即可,純手打,謝謝
c語言中i+=m+1的「i+"是什麼意思?
3樓:超級蘿蘿李
i+=m+1 的意思是 i=i+m+1在這裡的「+」 「=」 是一個運算子號。
就是把自己
加上右邊的項再賦值給自己,「+」「=」運算子可以少寫一個變數名,方便一些
例如說:a+=b就是a=a+b,這只是一種簡單的寫法,基本雙目運算子都可以這麼寫的。
4樓:但安閩琴音
+=是一個運算子號,i+=m+1
的意思是
i=i+m+1;
就是把自己加上右邊的項再賦值給自己
c語言中i++和j++=分別是什麼意思
5樓:
i++表示先引用i的值,再使i的值加1,i++當成右值看待(i++=3,這個錯誤)。j++同理
++表示先使i的值加,再引用i的值,++i當成左值看待(++i=3,這個正確)。++j同理
6樓:匿名使用者
i++表示i自增,即i=i+1;
j++=2 有兩個運算子++ 和= 這兩個運算子都是右結合的,所以先賦值j=2 然後j++ j的值變為3
7樓:匿名使用者
這些實在是書上很基本的~~~
c語言j++和++j又什麼區別?
8樓:匿名使用者
當單獨一bai個語句的時候沒du有區別,如果用在表示式中:zhij++是先dao
取j的值做計專算,再自加;
++j是先自加,再取屬j的值做計算。
比如int j = 2, k;
如果k = j++;
那麼先取j的值賦值給k,於是k值為2,j值再自加,j=3。
如果k = ++j;
那麼j先自加,得到j=3,然後再取j值計算,k值為3.
9樓:手機使用者
比如j當前是5,那麼j++就是先用j參與運算,參與完運算再變成6 ++j呢,是先將j變成6,然後再參與運算,就是這麼簡單,明白?
10樓:基佬自豪
我們先用while語句寫一下 for(i=1;i<10;i++) int i=0; while (i<10) 再用while語句寫一下 for(i=1;i<10;++i) int i=0; while (i<10) 可以看到,最後i的值都是10,所以在for迴圈裡,62616964757a686964616fe4b893e5b19e31333335323464i++ 和 ++i 是沒有區別的,那麼區別在**呢? 現在我們再看一段程式: #includeint main() 試著執行一下這段程式,發現結果是 1 2 ,這就是 i++ 和 ++i 的區別了:
i++ :先引用後增加 ++i :先增加後引用 具體是什麼意思呢?
就是 i++ :先在i所在的表示式中使用i的當前值,後讓i加1 ++i :讓i先加1,然後在i所在的表示式中使用i的新值 我想這樣說大家就應該明白了。。。
c語言中((j++||k++)&&i++)是什麼意思
11樓:12345額時代
是一條賦值語句,zhidao=左邊是變數k,右邊是表示式,操作方法如下:
1、早c語言中,i++的意思是先進行表示式運算,再進行自增運算。
2、從結果來看,把i++的運算過程拆分開,等效於i=i+1,可以看到運算結果是一致的。
3、但是在表示式運算過程中,i++會先進行表示式運算,然後才會進行自增運算。
4、根據執行結果可以看到b=j;賦值運算結束之後j=j+1,即j進行自增運算。
5、而++i的意思是先進行自增或者自減運算,再進行表示式運算。
6、通過運算結果可以發現,如果僅從i的值來看,++i和i++最終的i值是一樣的,都是i自增加了1.。
12樓:華夏沉默
j與k進行或運算,(若j不為0,則或運算的結果為1,或運算以後j自加1,k不變,因為j不為0就可判斷或運算結果為1,不需要對k判斷;若j為0,則或運算後,j和k的值都自加1。)
j和k或運算的結果(0或者1)在與i進行與運算(若或運算的結果為0,則與運算的結果為0,i的值不進行自加1操作,因為0和任何數與都是0,不需要再對i判斷了;若前面或運算的值為1,則再與i與運算後,i的值自加1)
13樓:匿名使用者
這個是用於判斷的表示式,就是要判斷j++、k++、i++三個表示式的真假值。。。。。
14樓:匿名使用者
兩個邏輯運算,||是或邏輯,&&是與邏輯;i為0,結果為0(假);否則,只要j或k為非0,結果為真;
c語言中 x*=i=j 是什麼意思?
15樓:是否忘記了一切
從右至左
來賦值首先 i=j
其次 x = x*i
這個問題最主要源的問題在於它的多賦值情況
一定要分清楚優先順序
一個完整清晰的思路 才能保證程式執行的穩定如果你記不住它們的優先順序 完全可以用小括號來區分這樣,不論誰的優先順序高低 都是從括號開始運算的就拿你的這個例子做個比喻 倘若就是記不清楚優先順序則可以:
x *=(i=j)
雖然這個括號加不加,運算的結果都是一樣的,但是這樣更容易你閱讀程式不論是後期的除錯,還是他人的閱讀,都可以一目瞭然這又涉及到了一個程式設計習慣問題了
養成一個良好的程式設計習慣,對你的工作學習都會有很大的幫助的好了,又扯遠了,呵呵~
希望能幫助你點什麼...
16樓:匿名使用者
先把j的值給i,然後進行x*=i的運算,它相當於x=x*i,就是先把x和i向乘,再把得到的結果賦值給x
17樓:匿名使用者
這個問題很好,要注意結合性和運算子號,前面的英雄說的很對,就是那樣的。c裡面的結合性是很重要的,關係到整個程式的成敗!!!
18樓:匿名使用者
x*=i=j 是先把j的植給i,在計算x乘以i的植並把植給x
19樓:匿名使用者
賦值優先順序大於來運算級也就源
是先把j賦值給i然後再做x*=i運算
x*=i=j等於x*=(i=j)
如 int x=2,i,j=3;
那麼 x*=(i=j)
j賦值給i也就是i=3
再進行x*=i運算x=x*i也就是x=2*3最後x=6望君好運
20樓:匿名使用者
x*=i=j;
就是i=j;
x*=j;
而x*=j;就是x=x*j;
這就是運算過程
類似*=的還有 +=,-=,
i+=j;和 i=i+j;一樣。
多個等號=時,從右邊開始算。
21樓:匿名使用者
前面的老兄說的很明白,
j*=i+2;什麼意思在c語言中
22樓:匿名使用者
根據優先順序從有到左
bai的計算:i+2的值算du出來zhi;假設這個值求出來之後為daotmp
再求j*=tmp---->>>>>j=j*tmp--->>>>這句話回的意思是將j與tmp的積求
答出來之後再賦值給j
綜上所述可以這樣變化:j = j*(i+2);
希望對你有所幫助,望採納;
23樓:匿名使用者
*= 是一種運算子號,比如, i *= 2相當於 i = i * 2,那麼按照j *= i+2,也就是說 j = j * (i+2)
24樓:匿名使用者
與 j += j 一樣 j= j+j 就是一個轉換
j = j*(i+2)
25樓:梅州市金色童年
*是萬用字元 ?
j開頭的變數 = i+2 ?
26樓:匿名使用者
j=j*(i+2);
c語言中 i+++j 是 i+(++j) 還是 (i++)+j
27樓:ai看雪
使用gcc編譯是i+(++j), 不知道其他編譯器怎麼樣,不過不用糾結這種問題,在實際生產中,寫成這樣的程式設計師是會被解僱的,所以你不用擔心
c語言中的,c語言中 是什麼意思
c語言中的 是邏輯運算中的非運算。是c語言中的非運算子,在變數前面使用它,會構建非運算表示式,表示式的返回結果是個布林值 也就是隻有true或false 對變數使用時,如果變數不是布林資料型別,將會強制轉化為布林型別再使用,如整形變數123將被轉化為true,整形變數0將被轉化為false。擴充套件...
c語言中是什麼意思c語言中x是什麼意思
在c語言中,x代表的意思是按位取反的意思。將x按位取反 比如x 10101010b。那麼 x 01010101b。還要注意,在c語言中,還有邏輯取反符號 x 的返回值只有0和1兩種。如果x為0,則!x 1。如果x不等於0.則!x的返回值為0。擴充套件資料 c語言關鍵字。signed 宣告有符號型別變...
c語言中alpha是什麼意思c語言中charalpha5的含義
1 c語言程式設計中baialpha通道是一個du8位的灰度通道,該通zhi 道用256級灰度來記錄dao影象中的透明 內度資訊,定義透明 不透明和半透容明區域,其中黑表示透明,白表示不透明,灰表示半透明。2 阿爾法通道 alpha channel 是指一張 的透明和半透明度。例如 一個使用16位儲...