1.下面两个程序的输出结果一样么?
1) int sum = 0;
for(int i = 1;i<=10;++i)
{
sum+=i;
}
cout<<sum<<endl;
2)
int sum = 0;
for(int i = 1;i<=10;i++)
{
sum+=i;
}
cout<<sum<<endl;
答案:一样,都是55.i++和++i,无论怎样,i的值都增加了1;
2.
while 和 for 循环 能永远相互转换吗
答案:是的。
可以。 for的格式是 for(initialization; condition; iteration) { //loop ...... } 转换成while后就是: initialization; while(condition) { //loop ...... iteration; } while到for就反过来
比如
将下面while循环转换为for循环,
把for 的第一语句和最后一个留空,就和while等价了 像for(;条件;)
int i = 1;
int sum = 0;
while(sum<1000)
{
sum+=i;
i++;
}
转换:
int i = 1;
int sum = 0;
for(;sum<10000;)// 注意这里condition后面不死两个分号,而只一个分号,NOT for(;sum<10000;;) 而是 for(;sum<1000;){
sum+=i;
i++;
}