在原始代码之后有两个代码段。
原始代码是:
int i;
int w[10];
代码段#1是:
cin >> i >> w[i];
代码段#2是:
cin >> i;
cin >> w[i];
标准输入为:
3 10
这些代码执行相同的操作(因此,我认为)。
But In my PC(Win10 64bit, gcc version : g++ 6.3.0), code #1 occurs segmentation fault. But other environment(like https://ideone.com) can execute code #1.
因此,出现了两个小问题:
- istream分配的标准是什么?应该从当前行还是下一行读取分配的变量?
- 如果编译器同时支持两种语言,那么哪一种对读者来说是“好代码”?