[問題] 問個while的問題

看板C_and_CPP (C/C++)作者 (快樂到底是甚麼)時間15年前 (2010/07/21 10:58), 編輯推噓0(008)
留言8則, 6人參與, 最新討論串1/1
while () <--裡面,只要是>1的數字就會是無窮迴圈對吧 我試過 while (!(0)) 也是無窮 因為 !0 =1 while (!(2)) 就會直接跳出迴圈 那為什麼 while (!(-2)) 進去會直接跳出?還是負數取!不會變正數? 感激不盡 ※ 編輯: Virtue18 來自: 118.168.118.21 (07/21 11:00)

07/21 11:04, , 1F
印象中非零整數都是true
07/21 11:04, 1F

07/21 11:04, , 2F
printf("%d%d%d%d%d%d\n", 0, !0, !1,!(-1), !(2), !(-2));
07/21 11:04, 2F

07/21 11:04, , 3F
拿去試試看不就知道了~
07/21 11:04, 3F

07/21 11:05, , 4F
為甚麼你要這樣玩弄while~"~
07/21 11:05, 4F

07/21 11:10, , 5F
我想如果0跳出 非0不跳出 而!為取Not 應該就能想通?
07/21 11:10, 5F

07/21 11:14, , 6F
推2F:) 另外, 0<->FALSE; 非0的數->TRUE, TRUE->1 :)
07/21 11:14, 6F

07/21 11:46, , 7F
!-2 不會是2.... !意思是Not
07/21 11:46, 7F

07/21 12:29, , 8F
要寫成2進位來看
07/21 12:29, 8F
文章代碼(AID): #1CHc956J (C_and_CPP)
文章代碼(AID): #1CHc956J (C_and_CPP)