C++语言基础for循环疑问

在写代码过程中遇到一个关于for循环的问题,附上代码,忘大神解惑

#include<iostream>
using namespace std;
int main()
{
    for(int m=0,n=0;m>=0,n<8;m--,n++)
    {
        cout<<m<<" "<<n<<endl;
    } 
    return 0;
}

输出结果是
0 0

-1 1

-2 2

-3 3

-4 4

-5 5

-6 6

-7 7

1个回答

<- 如果问题得到解决,请点我回答左上角的采纳和向上的箭头,谢谢

 for(int m=0,n=0;m>=0,n<8;m--,n++)
 {
 cout<<m<<" "<<n<<endl;
 }
 相当于
 int m=0,n=0;
 while(n<8)
 {
 cout<<m<<" "<<n<<endl;
 m--;
 n++;
 }
 注意
 m>=0,n<8
 这是逗号表达式,表达式的结果是后面那个表达式的结果,因此m>=0是一个无效的条件,无论成立不成立,都不影响循环结果

因为m n各自初始值都是0
第一次输出
0 0
后面每次m少1,n大1
所以
后面依次是
-1 1
-2 2
...
当n=8的时候,循环条件不满足,退出,所以
最后一行是
-7 7

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问