Flag是 被调函数prime里面定义的一个局部变量flag变量 下面的return(flag)这行里面的flag和前面定义的flag是一样的、、、flag也可以自己随意修改、、、
下面分析下这个程序具体的步骤
#include <
stdio.h> //第一行、调取
头文件stdio.h
int main() //表示一下内容为
主函数{int prime(int); //这个用途是前置函数声明、因为被调哈数prime是在主函数后面的所以需要函数声明
printf("input an integer:"); //这个作为人机交互、在执行之后输出input an integer具体自己翻译
scanf("%d",&n); //这里作为n变量的取值、功能是手动键入n变量的大小
if (prime(n)) //if是如果、、()里面的prime(n)是掉用被调函数prime因为前面有函数声明所以可以调用prime函数、n为实参、将n的值发送给被调函数的形参进行运算、如果
返回值为真(1)则运行fi里面的东西,如果为假(0)则运行else里面的东西。运行顺序从这里直接跳到后面的int prime(int n)这行往下运算
printf("%d is a prime.\n",n);//这里是将n以10
进制输出 %d是输出控制符表示10禁止 is a prime为非输出控制符、原样输出、
else //否则
printf("%d is not a prime.\n",n); //吧n以10进制输出、后面同上上行
return 0;//return用来终止函数、0表示没有返回值
}
int prime(int n) // 这里为定义被调函数prime int表示被调函数返回值类型为整形prime为函数名称int n表示定义一个形参n
{int flag=1,i;//这里有定义了一个flag的整形变量和一个i变量
for (i=2;i<n/2 && flag==1;i++)//i=2表示i从2开始进行循环、因为1不为
素数i<b/2 && flag==1判断&&(并且)两边的
表达式是否成立成立则往下执行、i++表示i变量的值每次循环之后+1
if (n%i==0)//如果n对i取余等于0则返回值为0也就是假后面的自己理解吧都很简单、
flag=0;
return(flag);//对主调函数返回flag的值
}
这个程序很多地方编译不太好、
例如被调函数int prime(int n)这行、返回值的类型真假也有专门的真假的
数据类型、bool prime(int n) 前面的int main()主调函数一般没有返回值的话括号里面须注明void变成int main(void)