找回密碼 或 安全提問
 註冊
|註冊|登錄

伊莉討論區

搜索
請尊重及感激所有版主付出和奉獻伊莉需要你的贊助和支持儲值後自動升級用戶組
巨乳mega 無259luxu七大罪中文鬼滅之刃國中
魔法少女fct 090福星小子shutupan橘雛乃情欲の古karryn's

休閒聊天興趣交流學術文化旅遊交流飲食交流家庭事務PC GAMETV GAME
熱門線上其他線上感情感性寵物交流家族門派動漫交流貼圖分享BL/GL
音樂世界影視娛樂女性頻道潮流資訊BT下載區GB下載區下載分享短片
電腦資訊數碼產品手機交流交易廣場網站事務長篇小說體育運動時事經濟
上班一族博彩娛樂

[繁]肌肉魔法使-MASHL

[繁]超龍珠英雄MM 02-

TVアニメ『一拳超人

[繁]葬送的芙莉蓮25-

[繁]因為不是真正的夥

[繁]月光下的異世界之
C & C++ 語言C# 語言Visual Basic 語言PHP 語言JAVA 語言
查看: 4282|回復: 5

[問題] 有關if的小小基礎問題...[複製鏈接]

Rank: 1

帖子
235
積分
175 點
潛水值
6380 米
發表於 2017-3-4 11:06 AM|顯示全部樓層
本帖最後由 阿次阿 於 2017-3-4 12:25 PM 編輯

小弟一直不懂if(star)這裡是什麼意思因為沒有比較任何東西,不知道他這邊再判定什麼
請各位鞭小力一點><
附件: 你需要登錄才可以下載或查看附件。沒有帳號?註冊

使用道具檢舉

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

帖子
421
積分
1448 點
潛水值
48495 米
發表於 2017-3-4 07:37 PM|顯示全部樓層
若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。
if 括號裡的東西是判斷真(true)或是假(false)
而判斷的標準是0為假其他一切非0的都是真
一般看到 star == 1 是 == 做了一次運算
當 star 是 1 的時候他會回傳 1 這個值
if 看到了就會認為他是真
所以這邊 if(star) 的意思會跟 if(star != 0) 幾乎一模一樣
但是 if(star) 會比 if(star != 0) 少了一個運算
若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。

使用道具檢舉

CoNsTaRwU 該用戶已被刪除
發表於 2017-3-5 07:14 PM|顯示全部樓層
成為伊莉的版主,你將獲得更高級和無限的權限。把你感興趣的版面一步步地發展和豐盛,那種滿足感等著你來嚐嚐喔。
本帖最後由 CoNsTaRwU 於 2017-3-6 11:43 PM 編輯

對 C:
所有 if 小括號內的表達式會被轉型為 int 之後判斷是否不等於 0
也就是說,以下兩句會被 C 視為相等的
  1. if (expr) stmt
  2. if ((int)(expr) != 0) stmt
複製代碼
對 C++:
會被轉型為 bool 之後判斷是否等於 true
以下兩句在 C++ 中可以看成是相等的
  1. if (expr) stmt
  2. if ((bool)(expr) == true) stmt
複製代碼
以上兩個例子中
expr 可以是任意表達式 (變數、判斷式、計算、函數呼叫、任何可以寫在 if 小括號中的東西)
stmt 可以是任意敘述 (區塊、表達式、任何以分號結尾的東西)
...
瀏覽完整內容,請先 註冊登入會員
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。

使用道具檢舉

Rank: 2Rank: 2

帖子
241
積分
299 點
潛水值
22810 米
發表於 2017-3-6 09:27 AM|顯示全部樓層
這是自然語法, 撰寫方式, 以及電腦語法的模糊地帶.

就多數電腦語言而言, 0->視為FALSE, 非0->視為TRUE.
所以 if(var) => 只是依據var是否為零, 決定其判斷條件是FALSE/TRUE

在自然語言閱讀的時候, 其實就語意上並不容易判斷這種撰寫方式, 就我個人意見, 有兩種方式,一, 在命名上稍微花點心思, 就能解決這樣的現象, 二, 對於有非FALSE/TRUE的比較, 避免Magic Number, 以具名常數替代純數字.
...
瀏覽完整內容,請先 註冊登入會員

使用道具檢舉

jd3 該用戶已被刪除
發表於 2017-3-7 01:20 AM|顯示全部樓層
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。
路過建議你的 code 排版一下比較好




若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。

使用道具檢舉

o_g349 該用戶已被刪除
發表於 2017-9-13 12:30 PM|顯示全部樓層
分享使你變得更實在,可以使其他人感到快樂,分享是我們的動力。今天就來分享你的資訊、圖片或檔案吧。
include 發表於 2017-3-4 07:37 PM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

if 括號裡的東西是判斷真(true)或是假(false)
而判斷的標準是0為假其他一切非0的都是真
一般看到 star == 1 ...

沒有少了一個運算這回事,兩者編譯出來的組合語言是一樣的,一樣是判斷 star 是否不等於 0,兩個都會生成 test eax, eax 這樣的組合語言...
瀏覽完整內容,請先 註冊登入會員

點評

o_g349 我當然知道最佳化產生的組合語言會不一樣,但這跟我說的有關嗎? 你給個「在開了最佳化的條件下,拿掉 != 0 導致少了一個運算」的例子  發表於 2017-9-14 09:55 AM
include 要看編譯器有沒有做優化喔,有做優化才會一樣,沒有做就會有差  發表於 2017-9-14 08:51 AM
若有安裝色情守門員,可用無界、自由門等軟件瀏覽伊莉。或使用以下網址瀏覽伊莉: http://www.eyny.com:81/index.php

使用道具檢舉

您需要登錄後才可以回帖 登錄 | 註冊

Powered by Discuz!

© Comsenz Inc.

重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。
回頂部