为什么我在 cout (0 16) 中得到输出,即使我没有在 cin 中输入任何输入值

问题描述 投票:0回答:1
#include<bits/stdc++.h>
using namespace std;
int main(){
int a;
int b;
cin >> a >> b;
cout << a <<" "<<b;     
}
OutPut: 0 16

感谢您的帮助,提前致谢! 我尝试输入不同的输入值,结果没问题,但如果我不输入任何 cin 值,cout 上的结果会让我感到困惑,所以我想清除它!

c++ input output cin cout
1个回答
0
投票

因为它到达 std::cin 上的文件末尾并导致内部错误。你可以看看这个程序的作用:

    #include <iostream>
    int main(){
        int a;
        int b;
        std::cout << std::cin.good() << std::endl;
        std::cin >> a; 
        std::cout << std::cin.good() << std::endl;
        std::cin >> b;
        std::cout << std::cin.good() << std::endl;
        std::cout << a <<" "<<b;     
    }

输出:

1
0
0
32764 1193870296

https://godbolt.org/z/fYjcKdEK6

与向 cin 添加输入时进行比较,例如

1 2

1
1
0
1 2
© www.soinside.com 2019 - 2024. All rights reserved.