C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了C cin读取字符串到int类型返回0大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Why does stringstream >> change value of target on failure?                                    2个

#include <iostream>
using namespace std;
int main()
{
    cout << "Please enter your name and age\n";
    string first_name;
    int age;
    cin >> first_name;
    cin >> age;
    cout << "Hello," << first_name << " (age " << age << ")!\n";
}

如果我输入卡洛斯的年龄或任何其他字符串我得到0.这是如何工作(为什么)?

解决方法

不知道为什么这个问题得到了落实/关闭,因为它已经明确说明而且不广泛(从评论来看,很多人都不知道答案)……

无论如何,对于代码

int age;
cin >> age;

如果输入流不包含任何数字,则将流置于失败状态,将age设置为0.输入流中的字符保留在那里;清除故障状态后,可以通过将来的读操作读取它们.

操作符的行为>>是summarized on cppreference,标准中的完整描述有点复杂.

注意:这在C 11中有所改变;报告垃圾输出评论员要么是在C 11前模式下运行编译器,要么是有bug的编译器.

大佬总结

以上是大佬教程为你收集整理的C cin读取字符串到int类型返回0全部内容,希望文章能够帮你解决C cin读取字符串到int类型返回0所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:字符串