为什么我的输出包含0
Why does my output contain a 0?
我有以下代码:
#include <iostream>
#include <string>
using namespace std;
int main()
{
int xxx;
cout << "Enter an integer: 2011 ";
cin >> xxx;
cout << "Enter your name: John " ;
string yyy;
cin >> yyy;
cout << yyy << "entered" << xxx << endl;
return 0;
}
我预计输出为:
输入整数:2011输入您的姓名:John John输入2011
然而,我得到了以下输出:
输入整数:2011输入您的姓名:John entered0
为什么我没有得到预期的输出?
0是从哪里来的?对我来说似乎有点随机
还有一个不同的问题,可能以前已经回答过了:
- 如果我希望我的输出整齐有序,如下所示,我将如何做到这一点,即我需要向代码中添加什么
输入您的整数:2011
输入您的姓名:John
John进入2011年
您的代码和解释中有些地方不清楚。我会尽量澄清和解释。
首先,当我运行这个程序时,它运行得很好。有一些美学问题,但我们现在将忽略它。
因此,您已经掌握了I/O的基本知识。当您使用cout时,它输出一些东西,而当您使用cin,它是一个输入运算符。因此,您必须输入一些东西才能使其工作,如下例所示:
//Code
int x;
cout <<"Enter an integer: "<<;
cin >> xxx;
控制台上应该显示的内容:
>Enter an integer: _
(下划线为光标)。然后您应该输入一个整数
>Enter an integer: 231
然后,按下回车键,您输入的整数231将存储在XXX中。在这里,我不得不停下来问,你的代码中出现"2011"的原因是什么:
cout << "Enter an integer: 2011 ";
如果你认为这是输入,那就不是。运行后,您必须在控制台窗口中手动写入一些内容。如果是其他内容,则会分散注意力,并且。。。好无用的
同样的原理也适用于字符串组件。如果你需要我澄清,请告诉我。
此外,您确实应该使用空格来清除输出。您的输出文本显示依据:
cout << yyy << "entered" <<< xxx;
相反,您应该使用:
cout << yyy << " entered " << xxx;
这提供了一个更整洁的输出,您可以阅读,即
>Johnentered231
与
>John entered 231
根据您的评论
这里有一些链接可以让你开始:
语言:C++教程(按顺序学习!)
编译器:BloodShed DevVisual Studio(C++及更多)
您的程序对我来说很好。此外,为了整齐地组织输出,请使用空格和控制字符。如果你想让你的输出看起来更好,我建议你把程序的输出行改为:
cout << yyy << " entered " << xxx << endl;
请注意"已输入"周围使用了空格。代码中另一个让我恼火的地方是缺少变量的描述性名称。给他们一些有意义的东西。例如,将"xxx"更改为"number",将"yyy"更改为"name"。从长远来看,它会帮你省去很多麻烦。
我想你混淆了cout和cin。cout仅用于输出。在cout之后编写cin并且不给它任何输入不会得到值"John"。
例如,
cout << "Enter an integer: 2011 ";
cin >> xxx;
应该是
cout << "Enter an integer: ";
cin >> xxx;
然后输入2011
- 如何包含整数之间的空格作为输出
- 在cpack输出中包含外部库
- 将.init_array部分包含在链接器脚本中会产生不可用的输出
- 如何读取和输出文件的内容及其包含的字数?
- 假设包含所有必需的头文件,输出将是什么
- C++,向量:获得包含 0 的错误输出
- C++,我想在字符串中搜索一个字符,并输出包含该字符的所有单词
- 修改 gettext .pot 文件输出以排除空字符串或仅包含空格的字符串
- 为什么这个程序中的输出包含-
- setw() 在包含 UTF-8 多字节字符/码位的字符串上输入错误的输出
- 为什么输出中包含-9.255
- 迭代器begin()应该包含3,输出为2
- 为什么我的输出包含0
- 如何输出包含的结构位置的集合
- 编写一个程序,输出包含5但不包含8的5位数的总数
- c++ set输出的元素比它包含的元素多得多
- 如何在输出文件名中包含"mt"和"gd"?
- 输出字符串包含奇怪的字符
- 乘法的字符串[包含整数],输出也存储在字符串中,如何
- 如何分配谷歌协议缓冲区SerializeAsString()输出,其中包含嵌入空到std::string