解释C++程序

来源:百度知道 编辑:UC知道 时间:2024/06/30 17:08:24
#include<iostream>
using namespace std;
int main()
{
double i,j;
j=i;
cin>>i;
cout<<j<<endl;
return 0;
}
预测结果并解释为什么。

结果会出错,在j=i;前,i没有初始化,程序出错

改为:
#include<iostream>
using namespace std;
int main()
{
double i,j;

cin>>i;
j=i;
cout<<j<<endl;

return 0;
}

结果为:输入什么数,输出就是什么数
因为输出的j = 输入的i

#include<iostream>
using namespace std;
int main()
{
double i,j; \定义了i,j为浮点型的,但是你没初始化(也就是你没赋值);
j=i;因为i之前 没有赋值,所以你把i赋给j,j将得到一个系统随机
给与的值,这个值不可预料。
cin>>i; 这时你才给输入i的值,但是j已经在之前就赋值咯!请用编译器单步执行,查看j值的变化,一目了然。
cout<<j<<endl;
return 0;
}
得到一个不可预料的值。为什么看上面:

随机数
因为j, i不是同一地址 给i赋值 j不变仍保持i赋值之前的随机值

这是个很简单的程序,只是输出j的值,但是此时j的值是不确定的,因为 j=i发生在cin>>i之前,此时i还没有收到你的赋值,值是不确定的。

cin>>i是输入一个数,并保存在i中。cout<<j<<end是输出一个数后回车。

输入i输出j,输出随机数。