030:你真的搞清楚为啥 while(cin >> n) 能成立了吗?
时间: 2023-09-07 12:03:58 浏览: 71
当我们使用 `while(cin >> n)` 时,首先需要理解 `cin` 和 `>>` 运算符的工作原理。
`cin` 是一个标准输入流对象,它与键盘输入联系在一起。在使用 `cin` 对象时,我们可以使用 `>>` 运算符从键盘读取输入并将其赋值给指定的变量。
`>>` 运算符会依次从输入流中读取字符,直到遇到空格、换行符或制表符为止。它将提取的内容转换为指定类型,并将其赋值给右侧的变量。
在 `while(cin >> n)` 这个语句中,`>>` 运算符用于将输入的值赋值给变量 `n`。循环会不断执行,直到 `cin` 对象的状态不再有效,或者检测到文件结束符。
当我们使用 `while(cin >> n)` 时,它的条件是 `cin` 对象的状态。当输入有效且没有错误时,`cin` 对象的状态为真,循环将继续执行。如果出现错误或检测到文件结束符,`cin` 对象的状态为假,循环将结束。
换句话说,`while(cin >> n)` 能够成立是因为它能够将输入的值赋值给变量 `n`,而且输入流正常,没有错误发生。只要输入流有效,我们就可以继续循环读取输入。
总结一下,`while(cin >> n)` 之所以能够成立,是因为它利用了 `>>` 运算符从输入流中读取值并赋给变量 `n`,并且在没有错误发生的情况下,输入流保持有效,从而实现了循环读取输入的功能。
相关问题
while(cin >> n,n)
while(cin >> n, n) 是一个常见的循环结构它的作用是在输入流(cin)中读取数据,并且只要读取成功且读取的值不为0,就会执行循环体内代码。这个循环结构通常用于读取一系列的输入数据,直到遇到特定的终止条件。
具体来说,while(cin >> n, n) 的执行过程如下:
1. 首先,cin >> n 会尝试从输入流(cin)中读取一个值,并将其赋给变量n。
2. 如果读取成功,则继续执行逗号后面的表达式n。
3. 如果读取失败(例如遇到文件末尾或者输入不合法),则循环终止。
4. 如果读取成功且n的值不为0,则执行循环体内的代码。
5. 循环回到第1步,继续读取下一个值。
这种循环结构常用于需要连续读取输入数据的场景,例如读取一系列整数、浮点数或者字符串,直到遇到特定的终止条件(例如输入0或者输入特定的字符串)为止。
while (cin >> n, n)
这是一个常见的C++语言中的循环结构,它的作用是在输入一个整数n后,当n不为0时,执行循环体内的代码。具体解释如下:
1. `cin >> n`:这行代码用于从标准输入中读取一个整数,并将其赋值给变量n。
2. `, n`:逗号运算符用于同时执行多个表达式,这里的目的是将n作为循环条件的一部分。
3. `n`:这是循环的条件表达式,当n不为0时,循环继续执行;当n为0时,循环结束。
4. 循环体:在while循环内部的代码块是循环体,它会被重复执行,直到循环条件不满足。
这段代码的作用是连续读取输入的整数,并在输入为0时停止循环。你可以根据具体需求在循环体内编写相应的代码逻辑。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)