C++,不明白为什么用while()输入会在数组后面多输入一个0,求助大佬
  • 板块P2415 集合求和
  • 楼主A_pier
  • 当前回复5
  • 已保存回复5
  • 发布时间2021/10/14 21:32
  • 上次更新2023/11/4 03:48:16
查看原帖
C++,不明白为什么用while()输入会在数组后面多输入一个0,求助大佬
571939
A_pier楼主2021/10/14 21:32
#include<iostream>
#include<math.h>
using namespace std;

int main() {
	int s[31], col = -1;
	while (cin >> s[++col]);
	long long sum = 0;
	for (int i = 0; i < col; i++) {
		sum += s[i];
	}
	sum *= pow(2, col-1);
	cout << sum << endl;

	return 0;
}

我不明白为什么输入样例中的2 3,摁cirl+z后,数组变成s[0]=2,s[1]=3,s[2]=0;col=2(数组尾元素下标位置)了这是什么原因呢,我明明只输入了2和3,数组内元素个数却变成了三个,数组尾元素是0

2021/10/14 21:32
加载中...