单个变量如何存储多个值? 我最近开始用C++学习编程,遇到了这个问题,叫做“生命,宇宙,一切”。我从谷歌找到了一个解决方案,并对它进行了一些修改,以便更好地理解它 #include <iostream> #include <conio.h> using namespace std; int main(){ int number; while(1){ cin >> number; if(number==42) break; cout << number << " "; } getch(); return 0; }

单个变量如何存储多个值? 我最近开始用C++学习编程,遇到了这个问题,叫做“生命,宇宙,一切”。我从谷歌找到了一个解决方案,并对它进行了一些修改,以便更好地理解它 #include <iostream> #include <conio.h> using namespace std; int main(){ int number; while(1){ cin >> number; if(number==42) break; cout << number << " "; } getch(); return 0; },c++,C++,在这里,我不理解变量number如何存储输入流中的多个值,并一直存储值,直到我按下Return。据我所知,变量只能存储其对应数据类型的单个值。int num一次只存储一个数字 cin>>数字用输入的下一个数字替换存储的数字。这不是输出: 1 2 88 42 99 1 2 88 第一行是输入,第二行是输出。在cin>>number期间,每个循环迭代从输入流中读取一个数字,其余的输入流在下一轮循环之前保持未读状态。因此,值存储在输入流中,而不是存储在number中。此外,变量的值将在循环的每次迭代

在这里,我不理解变量
number
如何存储输入流中的多个值,并一直存储值,直到我按下Return。据我所知,变量只能存储其对应数据类型的单个值。

int num一次只存储一个数字


cin>>数字
用输入的下一个数字替换存储的数字。

这不是输出:

1 2 88 42 99
1 2 88

第一行是输入,第二行是输出。在
cin>>number
期间,每个循环迭代从输入流中读取一个数字,其余的输入流在下一轮循环之前保持未读状态。因此,值存储在输入流中,而不是存储在
number

中。此外,变量的值将在循环的每次迭代中打印出来。也许这就是造成混乱的原因。看起来像是一个数字向量被打印出来了。@elementalneil部分错了。输入流“等待”直到您按enter键。然后它接收整行输入(缓冲)。然后,它读取一个数字,将其存储在
number
中,打印此数字并再次启动循环,从缓冲区读取下一个数字。依此类推,直到遇到42为止。@elementalneil控制台输入是行缓冲的。当您到达
cin>>编号时
这是第一次,输入中还没有数字,所以程序会等待,直到您输入内容并按enter键<代码>1 2 88 42 99
作为字符串存储在输入流中<代码>cin>>数字从这个字符串中逐个读取数字。@elementalneil是个新手就可以了。:)“每次迭代都会涉及一个输入,然后是一个输出”,这就是发生的情况。尝试每行键入一个数字,您将获得预期的行为<代码>cin>>编号允许您输入一行,如果它有多个数字,则输入流中存储的多余数字(作为字符串),以及当您达到
cin>>数字时42
,直到我看到这个答案。谢谢
1 2 88 42 99
1 2 88