c++中for循环括号后加分号的作用
#include<iostream>usingnamespacestd;inti,j;intgb(int,int);intgy(int,int);voidmain(){c...
#include<iostream>
using namespace std;
int i,j;
int gb(int,int);int gy(int,int);
void main()
{cout<<"请输入两个整数:"<<endl;
cin>>i>>j;
cout<<"最小公倍数为:"<<gb(i,j)<<endl;
cout<<"最大公约数为:"<<gy(i,j)<<endl;
}
int gb(int a,int b)
{int c,t,i;
c=a;
if(a<b)
{t=a;a=b;b=t;}
for(i=a;((i%a==0)&&(i%b==0))==0;i++);
return i;}
int gy(int a,int b)
{int e;
for(e=a;((a%e==0)&&(b%e==0))==0;e--);
return e;}
为什么这样可以,而却掉两个for括号后的分号就不行 展开
using namespace std;
int i,j;
int gb(int,int);int gy(int,int);
void main()
{cout<<"请输入两个整数:"<<endl;
cin>>i>>j;
cout<<"最小公倍数为:"<<gb(i,j)<<endl;
cout<<"最大公约数为:"<<gy(i,j)<<endl;
}
int gb(int a,int b)
{int c,t,i;
c=a;
if(a<b)
{t=a;a=b;b=t;}
for(i=a;((i%a==0)&&(i%b==0))==0;i++);
return i;}
int gy(int a,int b)
{int e;
for(e=a;((a%e==0)&&(b%e==0))==0;e--);
return e;}
为什么这样可以,而却掉两个for括号后的分号就不行 展开
展开全部
这里用分号的就去循环,但是什么也不做,第一个for的作用是求得满足条件的 i 的最终值,第二个是求得满足条件 e 的最终值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
后面的分号 是空循环
例如
for(i=0;i<100;i++);
就等于
for(i=0;i<100;i++)
{
;
}
例如
for(i=0;i<100;i++);
就等于
for(i=0;i<100;i++)
{
;
}
追问
是不是就不循环,只是找出满足条件的第一个值?
for(i=a;((i%a==0)&&(i%b==0))==0;i++);
这个for循环中((i%a==0)&&(i%b==0))==0。这又是什么意思?谢谢,这个不是我做的,是一个学长做的。不太懂!特别是那几个括号!
追答
就是说 当(i%a==0)为真
并且(i%b==0)也为真
时 结束循环
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这里的分号其实代表空语句,就是仅仅执行for括号里面的内容,因为不需要在循环中加入其它语句所以用了;空语句。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for循环的基本格式:
for(初始化;循环条件表达式;步进)
语句
在这里语句可以是简单语句,也可以是复合语句.简单语句的格式是“表达式;”,每个简单语句比须有分号(标志一个语句的结束).空语句也属于简单语句,所以也有分号.
for(初始化;循环条件表达式;步进)
语句
在这里语句可以是简单语句,也可以是复合语句.简单语句的格式是“表达式;”,每个简单语句比须有分号(标志一个语句的结束).空语句也属于简单语句,所以也有分号.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就表示只执行for 里的循环,不做其他事情
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询