萌新求助玄学错误
  • 板块学术版
  • 楼主绿绵羊
  • 当前回复46
  • 已保存回复46
  • 发布时间2020/8/11 17:57
  • 上次更新2023/11/6 20:37:34
查看原帖
萌新求助玄学错误
35153
绿绵羊楼主2020/8/11 17:57

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

int a=0, b=0;
for (int i=1; i<=10; i++){
	a++;
   	b++;
}
cout << a << ' ' << b << endl;

结果,输出

0 10

a好像没变?
然后,我改了一下这个程序

int a=0, b=0;
for (int i=1; i<=10; i++){
	a++;
   	b++;
    	cout << a << endl;
}
cout << a << ' ' << b << endl;

输出

0
0
0
0
0
0
0
0
0
0
0 10

a好像一直没变,那b怎么变了?
又改了一下

int a=0, b=0;
for (int i=1; i<=10; i++){
	a++;
   	b++;
    	cout << b << endl;
}
cout << a << ' ' << b << endl;

输出

1
2
3
4
5
6
7
8
9
10
0 10

哎b还真变了,那两个一起呢?
最后改了一下

int a=0, b=0;
for (int i=1; i<=10; i++){
	a++;
   	b++;
    	cout << a << ' ' << b << endl;
}
cout << a << ' ' << b << endl;

输出

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试过了,都这样。
请问这是什么回事?求教

2020/8/11 17:57
加载中...