c++中关于for语句的问题

#include "pch.h"
#include
using namespace std;
int fun(int k)

{
static int m = 1;

int n = 2;

m = k + m + n++;

return m;

}

void main()

{
for (int i = 0; i < 2; i++)

    cout << fun(i++) << '\t';

cout << '\n';

}
//for()括号里的i++和fun()括号里的i++都要执行吗?
for(表达式1;表达式2;表达式3)里的表达式3相当于循环体的
最后一个语句,但是又有区别。这句话对吗?又怎么理解?

两个i++都要执行。
表达式3可以理解为循环体中最后一个语句。
运行结果:
3\t\n
(注意循环体只“循环“了一次)

如果有帮助,希望采纳,谢谢

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

没有区别。

for (expr1; expr2; expr3)
{
...
}

就相当于

expr1;
while (expr2)
{
...
expr3;
}

``

for()括号里的i++和fun()括号里的i++都要执行吗?

当然,这代码只循环1次,等价

int i = 0;
while (i < 2)
{
    cout << fun(i++) << '\t';
        i++;
}

吹毛求疵一点说,唯一的不同是,我的while的版本,i的作用域是局部变量,for循环的i则是循环内。