能否帮我解释几条语句,对我的进步很重要!! 谢谢~ 询问if(i==x) flag=1这一句
程序代码:
#include<stdio.h>//将一个偶数拆分成两个素数 #include<math.h>//这个没有必要吧? int flag=0;//这里仅仅是将flag 设为全局变量么? void ss(int x) { int i=2; for(i=2;i<x;i++) { if(x%i==0) break; } if(i==x) flag=1;//这里是什么意思,flag这里是“=”(这里赋值吧)?还是if括号中的 i==x 什么意思? //i能取到x么? 请看17楼 } void ss(int x); void main() { int i,j,n; printf("请输入一个大于4的偶数:"); scanf("%d",&n); for(i=3;i<=(n/2);i+=2) { j=n-i; ss(i); if(flag==1)//这里 flag 又变成了 “==” 蒙了,什么意思? { flag=0;//唉。。。还是 什么意思? ss(j); if(flag==1)//同上 疯了~~ printf("%d能被拆成的两个素数分别为:%d,%d\n",n,i,j); } flag=0; //一次输出后,标志位应该归零(必须的么? 因为是循环语句的原因吧?) printf("\n"); } }还请朋友能帮帮忙~ 麻烦你们了!!
[ 本帖最后由 vvvevvv 于 2010-11-13 15:54 编辑 ]