但是我对代码中flag起什么作用,完全不懂。请能讲解一下。谢谢
#include <iostream>
using namespace std;
int main()
{ int prime(int);
int n;
cout<<"inter n :";
cin>>n;
if(prime(n))
cout<<n<<"is a prime."<<endl;
else
cout<<n<<"is not a prime."<<endl;
return 0;
}
int prime(int n)
{
int flag=1,i;
for(i=2;i<n/2&&flag==1;i++)
if(n%i==0)
flag=0;
return(flag);
}
C++技术网解答:
C语言中flag的用法,C语言中是没有flag这种关键字的,它只是一个变量,我们可以把它当做一种标志,或者一种状态,在某种特定条件下改变它的值,我们根据flag的值,我们就可以判断很多事情,比如下面这段判断素数的代码。int prime(int n)
{
/*我们用flag的值来判断一个数是不是素数
我们设定 1的时候表示n是素数,0的时候表示不是
先假设这个数是素数 */
int flag=1,i;
for(i=2;i<n/2&&flag==1;i++)
if(n%i==0)
flag=0; /*能被除尽,说明不是素数,我们把标识设为0 */
return(flag);/* 返回flag,函数外根据flag的值就可判断是不是素数 */
}
编程风格直接关系到代码质量,一段好的代码,别人读起来容易明白,自已以后维护起来也方便写代码时时刻记得一句话:你的代码是让别人看的!或许能督促你写出好的代码。比如下面这段代码是不是更容易理解一些?(推荐 林锐 高质量C/C++编程,讲的是编程规范化的东西,或许对我们的代码规范很有帮助)。
int prime(int n)
{
int flag = 1; /*1表示素数,0表示合数*/
int i;
for(i=2; i<n/2; i++)
{
if(n%i==0)
{
flag = 0;
break;
}
}
return(flag);
}