@TOC
成都創(chuàng)新互聯公司成立于2013年,先為高坪等服務建站,高坪等地企業(yè),進行企業(yè)商務咨詢服務。為高坪企業(yè)網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。前言在寫程序時候發(fā)現不管是if(1) if(-1)都為真,if(0)為假
測試程序#includeint main(int argc, char *argv[]) {int a = 0;
if(a) {a = 3;
}
if(argc != 0) {a=1;
}
if (argc == 0) {a=2;
}
return 0;
}
clion查看匯編在debug模式下 gdb查看匯編
disassemble
可以看到當只有一個參數的時候,是默認和0進行比較,不等于0就為真je:Jump if equal (ZF=1)。
cmp 如果源操作數和目的操作數是相同的,則結果為0,ZF=1。
上面是正常寫程序的寫法,換一種方法看看
#includeint main(int argc, char *argv[]) {int a = 0;
if(0) {a = 3;
}
return 0;
}
可以看到已經沒有cmp指令了,編譯器自動幫我們優(yōu)化這個恒定為假的判斷條件,提升效率
https://blog.csdn.net/qq_42138566/article/details/106026954
https://blog.csdn.net/weixin_36020178/article/details/120108163
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
文章標題:為什么if(-1)為真-創(chuàng)新互聯
文章URL:http://muchs.cn/article34/cdiepe.html
成都網站建設公司_創(chuàng)新互聯,為您提供靜態(tài)網站、ChatGPT、企業(yè)建站、網站排名、微信公眾號、商城網站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯