我想用C語言編寫一個程序,它將接受用戶輸入,我無法理解循環的邏輯。素數編程
for (c = 2 ; c <= n - 1 ; c++)
程序代碼如下: -
#include<stdio.h>
#include<conio.h>
void main()
{
int n, c;
printf("Enter a number to check if it is prime\n");
scanf("%d", &n);
for (c = 2 ; c <= n - 1 ; c++)
{
if (n % c == 0)
{
printf("%d is not prime.\n", n);
break;
}
}
if (c == n)
printf("%d is prime.\n", n);
getch();
}
我已經使用了for循環將在for循環結束的n - 1
聲明。如果我將輸入11
那麼它將最終在11 - 1 = 10
那麼它將如何放棄if(c == n) { printf("%d", n);
的邏輯?
嘗試通過調試器進行檢查,看看你做了一個不正確的假設 –
你問的程序是如何工作的?我很困惑,你不是自己寫的嗎? –
請看堆棧溢出。 – dbasnett