为什么a=b时执行第二个if而不是直接跳出循环呢?还有,两个if为止交换运行的结果也不对呢?
来源:百度知道 编辑:UC知道 时间:2024/05/31 12:11:07
#include<iostream>
using namespace std;
void main()
{int a,b,c=0;
for(a=2;a<=100;a++)
{for(b=2;b<=a;b++)
if(a%b==0)
break;
if(a==b)
c=c+a;}
cout<<c<<endl;
}
using namespace std;
void main()
{int a,b,c=0;
for(a=2;a<=100;a++)
{for(b=2;b<=a;b++)
if(a%b==0)
break;
if(a==b)
c=c+a;}
cout<<c<<endl;
}
你仔细看第二个for,没有括号的,你的a和b是没有相等的时候,所以你的break就不存在执行的问题了
另外:
如果你加了括号,你的break跳出去的应该是内层的for,外层的跳不出去,也就是说break跳出去的只是自身大括号内的循环
if 换成 else
if(a=b)和if(a==b)的区别是什么阿
c中,if(*a==1) ..;..;else if() ;else ... ;为什么满足其他条件的时候老是执行最有一个else语句
excel函数if,求A,B,C列的中间的数值。解释=if(B>C,if(C>D,C,if(B>D,D,B)),if(B>D,B,if(C>D,D,C)))。
2个电脑本地连接,为什么A能访问B的文件,而B却访问不了A的文件?
初一数学题..(a+b)(a-b)+c(a+b)为什么=(a+b)(a-b+c)
条件表达式max=(a>b)?a:b 的执行过程??????????
集合A、B的并集A∪B={a,b}。当A≠B时,(A,B)与(B,A)为不同的对,则这样的(A,B)对有多少个
执行a=b=c=1;++a||++b&&++c;之后a,b的值等与多少
执行行语句printf ("%d",(a=2)&&(b=-2));后的输出是? 为什么?
if (flag(a, b, c))是什么意思?