(1)使用了<stdbool.h>后,可使用true和false来表示真假。
(2)在循环语句中进行变量声明是C99中才有的,因此编译时显式指明 gcc -std=c99 prime.c
[lujinhong@lujinhong chapter9]$ gcc prime.c prime.c: In function ‘isPrime’: prime.c:23: error: ‘for’ loop initial declarations are only allowed in C99 mode prime.c:23: note: use option -std=c99 or -std=gnu99 to compile your code [lujinhong@lujinhong chapter9]$ gcc -std=c99 prime.c
/********************************************************** *purpose: * 判断一个整数是否素数。 *method: * 从2开始,至这个整数的平方根,若能整除其中任何一个则非素数并返回。 ***********************************************************/ #include <stdio.h> #include <stdbool.h> bool isPrime(int n); int main(void){ int n; printf("Please enter a digit to test is it a prime or not: "); scanf("%d",&n); if(isPrime(n)) printf("%d is a prime.\n", n); else printf("%d is not a prime.\n", n); return 0; } bool isPrime(int n){ for(int i=2; i*i<n; i++){ if(n%2==0) return false; } return true; }转载于:https://www.cnblogs.com/jinhong-lu/archive/2013/02/03/4559581.html