[問題] 關於IF呼叫副程式return 1 或 0的問題
小弟在寫一個習題
語言是:C
題目如下:
寫一個程式,接受一個整數的輸入,然後顯示所有小於或等於該數的質數
以下是小弟參考課本然後寫出來的程式
#include<stdio.h>
#include<stdlib.h>
int isp (int); /*確認是不是質數用的*/
int main (void)
{
int num, i;
printf("key in num:");
scanf("%d", &num);
for (i = 2; i <= num; i++)
if (isp(i)) /*把i的質送到isp程式運算*/
printf("%d ", i);
printf ("\n");
system ("pause");
return 0;
}
int isp (int n) /*算i的質,如果是質數傳回1,不是則0*/
{
int a;
for (a = 2; a * a <= n; a++)
if (n % a == 0)
return 0;
return 1;
}
疑惑的點是:為什麼另一個程式return以後,
if (isp(i)) /*把i的質送到isp程式運算*/
printf("%d ", i);
這段if的程式碼會在return 1的時候才做
是if 這個statement的功能嗎?
上網查了相關的if return 1這類的都找不到我想要的解答XDD
希望有高手能夠提點迷津,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 192.192.154.48
※ 編輯: garycan 來自: 192.192.154.48 (01/06 14:27)
→
01/06 14:32, , 1F
01/06 14:32, 1F
→
01/06 14:33, , 2F
01/06 14:33, 2F
謝謝指教,已改正。
※ 編輯: garycan 來自: 192.192.154.48 (01/06 14:39)
推
01/06 17:53, , 3F
01/06 17:53, 3F
→
01/06 17:54, , 4F
01/06 17:54, 4F
→
01/06 18:18, , 5F
01/06 18:18, 5F
推
01/09 05:24, , 6F
01/09 05:24, 6F
→
01/09 11:45, , 7F
01/09 11:45, 7F
→
01/09 11:45, , 8F
01/09 11:45, 8F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章