[問題] C語言程式

看板C_and_CPP作者 (笑看人生)時間14年前 (2011/07/28 00:04), 編輯推噓3(302)
留言5則, 5人參與, 最新討論串1/1
想請問一下題目: 問題:如果右方整數可以除盡左方整數,則輸出"B是A的約數"; 若否,則輸出"B不是A的約數"。(顯示如下) ================== 請輸入兩個數值。 整數A:12 整數B:6 B是A的約數。 ================== 以下是我的程式碼: int na,nb; puts("請輸入兩個整數"); printf("整數A:"); scanf("%d", &na); printf("整數B:"); scanf("%d", &nb); if(na % nb) puts("B是A的約數。"); else puts("B不是A的約數。"); 為什麼顯示出來的卻是相反?? 在麻煩高手幫我解惑,謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 58.115.140.149

07/28 00:06, , 1F
因為 0 被當 false...
07/28 00:06, 1F

07/28 00:07, , 2F
na%nb=0 表示是約數 if(0) => 執行 else 區塊...
07/28 00:07, 2F

07/28 00:51, , 3F
這就是要你乖乖寫上 == 0 的意思
07/28 00:51, 3F

07/28 10:05, , 4F
!(na%nb) ...
07/28 10:05, 4F

07/28 11:28, , 5F
請改用較符合內文之標題
07/28 11:28, 5F
文章代碼(AID): #1EC3SY-W (C_and_CPP)