C++ cin输入的小问题

int n;
while (cin >> n)
{
vectornum(n);
for (int i = 0;i < n;i++)
cin >> num[i];
//////这段代码中,n是int 类型。在while(cin>>n)中,为什么可以在下面的for中使用,同时下面的cin>>num[i]也是让我十分看不懂,查找资料并没有让我有什么收获。

c++

2个回答

cin >> n这个表达式的值是cin,也就是输入流。while(cin >> n)是判断输入流是否为真(读取到EOF, 非法字符等会导致流失效).
vector num(n) //长度为n的vector
n是while外定义的变量,内层作用域当然可以用
cin >> num[i]就是从输入流中读取数字存储在num[i]中。

asdf54sdf
水刃 是vector<int> num(n),打错了...
2 年多之前 回复

while (cin >> n) 表示 读入一个数到n中,只要n不是0,表示条件通过,可以执行大括号中的内容

for (int i = 0;i < n;i++)
cin >> num[i];
表示循环n次,每次读入一个数放到 num[i],但前提是数组num可以存放n个数

liuhannan111
HappyerMano “但前提是数组num可以存放n个数”,前提是满足的吧因为这样初始化的vector num(n),而且就算只是vector num,根据vector自身的性质,也可以存放下的吧
2 年多之前 回复
Max_Loop
Max_Loop 当n等于0的时候还是会进入大括号的,只不过for循环不会执行
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问