我如何在不使用 cin、getline 等的情况下存储值
How am I able to store a value without using cin, getline etc
我对此感到困惑。所以我写了一些代码来尝试解释它。我想知道为什么即使我没有提示输入cin
或getline
,我也能存储数字或字符?以我有限的知识,我现在唯一能想到的是"while(!(cin >> num1)
)",但话又说回来,为什么 while 循环会执行条件?
#include <iostream>
#include <limits>
using namespace std;
int main()
{
int num1;
cout << "Please enter a number: ";
while (!(cin >> num1))
{
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), 'n');
cout << "Invalid input. Try again: ";
}
}
表达式
cin >> num1
既具有操作性,又具有表现力。>>函数将输入存储在 num1 中,同时返回布尔值。在成功的读取/存储 cin>> num1 返回 0,while 循环条件如下所示:
while(!(0)){ //code }
相当于
while(1){ //code }
相当于
while(true){ //code }
因此,当 CIN>> Sum1 成功运行时,循环将继续。
从 CIN>> num1 读取/存储失败返回我相信 1,在 while 循环条件下计算结果为 false。
while(!(1)){ //code }
相当于
while(false){ //code }
循环到此结束
相关文章:
- 在没有太多条件句的情况下,我如何避免被零除
- 为什么在没有显式默认构造函数的情况下,将另一个结构封装在联合中作为成员的结构不能编译
- 在未初始化映射的情况下,将值插入到映射的映射中
- 是默认情况下分配给char数组常量的值
- 为什么我不能在不创建字符串变量的情况下使用函数的字符串输出
- 如何在不产生任何垃圾的情况下获得C中的像素
- 在已经使用Git的情况下减少编译时间
- 为什么在Windows上的VS 2019和Clang 9中"size_t"在没有标题的情况下工作
- 如何在没有信号的情况下从C++执行QML插槽
- 如何在不知道向量大小的情况下输入向量内部的向量?
- 为什么在某些情况下不写入此文件?
- 为什么Mat类的两个对象可以在不重载运算符+的情况下添加
- 在没有Xcode的情况下在Mac捆绑包中嵌入框架
- 有没有办法在不使用 getline() 的情况下从.csv文件中读取?
- 如何在不循环的情况下使用getline读取文件
- 在不使用getline的情况下读取C 中的stdin
- 如何在不阻塞输入的情况下使用getline
- 我如何在不使用 cin、getline 等的情况下存储值
- 在cpp中,如何使用getline()在没有交互式输入的情况下获得完整的句子
- 可以在没有用户输入的情况下跳过 getline() 吗?