- 2025-07-03
吃光后人!!!
- @ 2025-7-4 15:11:20
请看如下代码:
#include<iostream>
using namespace std;
int a;
int s[100];
int main(){
cin>>a>>s[a];
cout<<a<<" "<<s[a];
return 0;
}
如果我输入1 5,程序不会输出1 5,相反,程序会输出1 0。
为什么?
由于a和s[a]的读入写在了同一个cin里,这会导致s[a]在读入时默认a还是0,没错,同一个cin里的执行顺序是
- 从控制台读入这些东西
- 把这些东西同时放入变量
- 结束输入
这让我在比赛中挂了100分!吃光后人!
4 条评论
-
lzd2010 LV 8 @ 2025-7-4 15:49:45
你自己从本地测的时候没发现吗
-
@ 2025-7-4 15:49:44
你自己从本地测的时候没发现吗
-
@ 2025-7-4 15:14:47
使用快读可以解决问题
-
@ 2025-7-4 15:13:20
即使1和5分到两行输入,还是会输出1和0,吃光后人。
- 1