AND問題一問 |
尚未結案
|
BAY
一般會員 發表:1 回覆:1 積分:0 註冊:2003-07-08 發送簡訊給我 |
|
hsu6536
一般會員 發表:3 回覆:5 積分:1 註冊:2002-06-07 發送簡訊給我 |
這應該是logical AND吧
我想多加一組括號您會更清楚吧
i = (2 && (j=2));
所以依據您寫的會變成把 2&&2 之後的值assign給i
而相信您應該知道 2&&2 會是true
(當兩邊的 expressions 都是非0值時logical AND會回傳 true)
(詳細的自己看看書或help吧,應該寫得很清楚)
所以i會變成true(一般來說true是1,false是0) 因此你得到的結果會是1 跟2 --
No Signature! 發表人 - hsu6536 於 2003/07/08 08:06:43
------
No Signature! |
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
int i.j; //宣告兩個整數變數
i=2 && (j=2);//在執行指定式時,右邊的運算會先處理,其中又以 ( ) 小括號會先處理,在此,(j=2) 的意思是設定 j 這個變數為 2 ,同時,表示整個 (j=2) 這個東西的數值也是 2,所以 i=2 && (j=2) 就相當於
j=2;
i=2 && j;
在處理完 j=2 之後,就作 && 的運算,而 (2 && 2) 表示 非零(true) 且 非零(true) 所以結果是 true ,而在 C/C 中大部分的組譯器會用 1 來表示 true ,但有少部分會用 -1 來表示 true ,如果您用的是用 1 來表示 true,則經過此式運算後,i=1, j=2
------
http://www.ViewMove.com |
BAY
一般會員 發表:1 回覆:1 積分:0 註冊:2003-07-08 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |