社区讨论

萌新求助玄学错误

学术版参与者 7已保存回复 46

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
46 条
当前快照
1 份
快照标识符
@lodehstj
此快照首次捕获于
2023/10/31 05:17
2 年前
此快照最后确认于
2023/11/06 20:37
2 年前
查看原帖

此问题为简化版,因为是一个比赛赛题的std,不能泄露

CPP
int a=0, b=0;
for (int i=1; i<=10; i++){
	a++;
   	b++;
}
cout << a << ' ' << b << endl;
结果,输出
CPP
0 10
a好像没变?
然后,我改了一下这个程序
CPP
int a=0, b=0;
for (int i=1; i<=10; i++){
	a++;
   	b++;
    	cout << a << endl;
}
cout << a << ' ' << b << endl;
输出
CPP
0
0
0
0
0
0
0
0
0
0
0 10
a好像一直没变,那b怎么变了?
又改了一下
CPP
int a=0, b=0;
for (int i=1; i<=10; i++){
	a++;
   	b++;
    	cout << b << endl;
}
cout << a << ' ' << b << endl;
输出
CPP
1
2
3
4
5
6
7
8
9
10
0 10
哎b还真变了,那两个一起呢?
最后改了一下
CPP
int a=0, b=0;
for (int i=1; i<=10; i++){
	a++;
   	b++;
    	cout << a << ' ' << b << endl;
}
cout << a << ' ' << b << endl;
输出
CPP
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
10 10
哎正常了!
然后改回最初的,a还是没++?!
本地DEV试过了,AcwingIDE试过了,洛谷IDE试过了,都这样。
请问这是什么回事?求教

回复

46 条回复,欢迎继续交流。

正在加载回复...