“0”在cout之后无处可去

时间:2017-10-12 17:44:14

标签: c++ windows

当我编译并运行我得到的程序时:你出生的那一年:0 “0”来自哪里? 这是代码:

//! Program written by Samer!//
#include <iostream>
using namespace std;
int main() 
{

double Year, Age;
cout <<"The year you were born: "<< Year;  //!Here the error appears!//
cin >>Year; 
while (Year > 2017) //!That't a While loop!//
{
    cout <<"Please enter a valid Year:" << Year << endl;
    cin >>Year;
}
 Age=2017-Year;
cout <<"Your age is:" <<Age;
std::cin.get();
return 0;
}

1 个答案:

答案 0 :(得分:3)

您正在传输变量Year

cout <<"The year you were born: "<< Year;
                                    ^^^^
  1. 您的代码是按设计打印Year。这就是你要求它做的事情。如果您不想打印它,请不要:cout <<"The year you were born: \n";
  2. Year尚未初始化,并且以这种方式使用它是未定义的行为。在这种情况下,它似乎打印初始化时内存中的内容。在您的情况下,它恰好打印0。