cin>>a[i]>>;⼀⼀不懂此为什么不能写成cin>>a[i]>>" ";

2025-05-13 20:24:08
推荐回答(3个)
回答1:

cin>>a[i]>>;//不懂此为什么不能写成cin>>a[i]>>" ";
左右都不对啊。。。
operator>> 是istream的符号重载,你可以当作后面就是一个函数的参数,但是不需要用括号括起来。
http://www.cplusplus.com/reference/istream/istream/operator%3E%3E/
cin >> a[i]; 就是 a[i] (一个 int 的引用) 作为 >> 的参数,也就是这个istream& operator>> (int& val);
所以就把数据读入了 a[i]中。
cin>>; 这个不符合语法,编译不能过的。
cin>> " ";这个相当于给了参数,但是一个常量,常量不能当引用的,会提示找不到匹配的重载,同样也是编译不过。

回答2:

cin是输入流,需要有变量接受
" " 不是变量,是字符串常量

回答3:

“ ”是常量字符串,>>“ "就是给这个常量字符串赋值的意思。也就像你要让3=5,这可能吗?