求解释这段C++代码!

来源:百度知道 编辑:UC知道 时间:2024/06/20 09:05:52
#include<iostream>
using namespace std;
int main()
{
int a,b,i;
for (i=100;i<=500;i++)
{
a=i;
b=0;
while(a!=0)
{
b+=a%10;
a/=10;
}
if(b==6)
{
cout<<i<<endl;
}
}

return 0;
}
有个地方不是很明白,这里当程序运行到while 循环时它是先全部运行完while的条件a!=0还是运行一次然后返回for循环运行?
步骤不是很明白,能详细点吗?

While是镶嵌在for中的,只有当while循环结束时才出去运行一下次for的条件

while嵌套在for中,for运行执行到while时,while一直要执行a!=0为false后,才会在执行下一次for语句,这样重复执行,直到for语句执行完毕, 循环结束...
希望能给你启发...

for-->while-->while-->for....-->for满足条件推出循环,执行下面的语句....

#include<iostream>
using namespace std;
int main()
{
int a,b,i;
for (i=100;i<=500;i++)
{
a=i;
b=0;
while(a!=0)
{
b+=a%10;
a/=10;
}
if(b==6)
{
cout<<i<<endl;
}
}

return 0;
}
这个程序因为while是嵌套在for语句中;所以先应行for语句。他是这样应行的当i=100时,就应行whlie语句,直到满足a!=0为此。i=101时也一样。但在这里应行whlie语句时首先要判断a!=0。

while(a!=0)
{
b+=a%10;
a/=10;
}你就把这当成一个语句就会明白是要判断a=0时才跳出while循环,继续执行下一语句

大家不要这么为他做作业吗!!
too easy!
先全部运行完while的条件a!=0!!

当程序运行到while 循环时它是先全部运行完while的条件a!=0后,然后返回for循环运行
即对100到500之间的数分别作上述计算。