我需要帮助理解while循环/ for循环之间的逻辑差异,这里是示例代码:
#include<iostream>
using namespace std;
int main(void)
{
cout << "A multiplication table:" << endl
<< " 1\t2\t3\t4\t5\t6\t7\t8\t9" << endl
<< "" << endl;
for(int c = 1; c < 10; c++)
{
cout << c << "| ";
for(int i = 1; i < 10; i++)
{
cout << i * c << '\t';
}
cout << endl;
}
return 0;
}
我尝试将其重写为while循环,但结果是缺少信息。
#include <iostream>
using namespace std;
int main() {
int i = 1;
int c = 1;
while (c< 10){
cout << c <<"|";
c++;
while (i< 10){
cout << i * c << '\t';
i++;
}
cout << endl;
}
cin.clear();
cin.ignore();
cin.get();
return 0;
}
有人建议将i重置为1会得到剩下的结果,我很难理解为什么while循环需要重置而for循环没有。
答案 0 :(得分:1)
MPMoviePlayerController
相当于:
for (i=0;i<n;i++) {
dosomething;
}
代码中的问题是您没有在内循环中将i=0;
while (i<n) {
dosomething;
i++;
}
重置为1。
在c中循环内部声明i
,而不是在它之外。
试试这个:
int i=1
答案 1 :(得分:1)
您必须设置i = 1才能在两个示例中获得预期的行为。对于for循环,这已经处理好了,因为在for循环的标题中,有一个for( int i = 1 ; ...; ...)。