z=x*y; 这句必须放在在读入x和y之后啊,放在前面的话x、y的值都还是系统给的默认值。
你想想,x y都还没输入呢,z就能等于x*y了?多照着一些标准的代码打打,熟练了,这种错误就少很多了。
z=x*y;
cout<<"请输入x和y的值:"<
改成
cout<<"请输入x和y的值:"<
z=x*y;
结果当然不对了,你仔细读读你的程序,你声明的变量X,Y,Z均未初始化。X,Y通过输入初始化了,Z表面上也初始化了,但在X,Y初始化之前,因此输出结果就是默认值的乘积,即52428*52428=2748695184。
z=x*y; (1)
cout<<"请输入x和y的值:"<
一般情况是按顺序执行语句的,
你现在的是 在用户输入用户指定的 X,Y (2) 之前就计算Z值
在(1),此时计算z时 使用的变量定义时的初始值进行计算的 不是给定值
交换顺序 将(1) 放到(2)(3)后即可 即: cout<<"请输入x和y的值:"<
z=x*y;
#include
int main()
{
unsigned short x,y;
long unsigned z;
cout<<"请输入x和y的值:"<
z=x*y;
cout<
}
把z=x*y这句放在输入x,y之后,这样才不会出现编译错误
#include
int main()
{
unsigned short x,y;
long unsigned z;
cout<<"请输入x和y的值:"<
z=x*y;
cout<
}
(Z的位置放错了)未输入前X Y 的值是随机的。所以Z也是随机的