此代碼是否正確使用函數檢查素數。我沒有收到任何語法錯誤,但無論我輸入什麼內容,它總是顯示首字母。此代碼是否正確使用函數檢查c中的素數?
#include<stdio.h>
int prime(int);
void main() {
int n, count, a;
printf("enter the number\n");
scanf("%d", &n);
prime(n);
if (count == 2)
printf("prime");
else
printf("not prime");
}
int prime(int n) {
int i, count = 0;
for (i = 1; i <= n; i++) {
if (n % i == 0) {
count++;
}
return (count);
}
}
如果你看的結果可能有幫助'黃金()' – Buddy
你的輸出取決於其上未初始化count'的'的價值,所以**未定義行爲**。明天,*沒有任何*你輸入將是質數。如果你不介意我說,你的'素數'函數是天真的,因爲(一方面)任何大於'n'的平方根的除數將已經通過其另一個除數檢查。 –