我有以下代码:
#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年
答案 0 :(得分:3)
您的代码和解释有些不清楚。我会尽可能地澄清和解释。
首先,当我运行程序时程序运行正常。有一些美学问题,但我们现在会忽略它。
所以,你已经掌握了I / O的基础知识。当您使用 cout 时,它会输出一些内容,当您使用 cin 时,它就是输入操作符。因此,您必须输入才能使其正常工作,如下例所示:
//Code
int x;
cout <<"Enter an integer: "<<;
cin >> xxx;
控制台上应该出现什么:
>Enter an integer: _
(下划线是光标)。然后你应该输入一个整数
>Enter an integer: 231
然后,按Enter键,您输入的整数231将存储在XXX中。在这里,我必须暂停并询问,代码中“2011”的原因是什么:
cout << "Enter an integer: 2011 ";
如果你认为这是输入,那就不是。运行后,您必须在控制台窗口中手动编写内容。如果它是别的东西,它会分散注意力......好吧......没用。
相同的原则适用于字符串组件。如果您需要我澄清,请告诉我。
另外,你真的应该使用空格来清理你的输出。您的输出文本将根据以下内容显示:
cout << yyy << "entered" <<< xxx;
相反,你应该使用:
cout << yyy << " entered " << xxx;
这给出了一个更简洁的输出,你可以阅读,即
>Johnentered231
与
>John entered 231
根据您的评论
以下是一些可以帮助您入门的链接:
答案 1 :(得分:0)
你的程序对我来说很好。此外,为了整齐地组织输出,请使用空格和控制字符。如果您希望输出看起来更好,我建议您将程序的输出行更改为:
cout << yyy << " entered " << xxx << endl;
注意在“输入”周围使用空格。让你了解代码的另一件事是你缺乏变量的描述性名称。给他们有意义的东西。例如,将“xxx”更改为“number”,将“yyy”更改为“name”。从长远来看,它会为你省去很多麻烦。
答案 2 :(得分:0)
我觉得你在cout和cin之间感到困惑。 cout仅用于输出。在cout之后写cin而不给它任何输入不会取值“John”。
例如,
cout << "Enter an integer: 2011 ";
cin >> xxx;
应该是
cout << "Enter an integer: ";
cin >> xxx;
然后你输入2011年