请问int 一个变量=0 到底是设么意思,如下我已领变量xx=0,为什还能输入变量xx经行乘法计算?

#include <iostream>
using namespace std;
int main()
{
cout<<"计算乘法,请输入数据第一个"<<endl;
int xx=0;
cin>>xx;
cout<<"计算乘法,请输入第二个数据"<<endl;
int yy=0;
cin>>yy;
int 答案=xx*yy;
cout<<"答案"<<"="<<答案<<endl;
return 0;
}

第1个回答  2013-01-30
因为你的xx=0 这个就是个初始化 (好习惯)

在赋值之前用0初始化赋值的

所以 0会被后赋值的值所代替。

不用担心 是正确的追问

请问此时我如果把int xx=0 改为 int xx=1 为什么仍能够正常输入xx进行乘法计算,而不是把xx代做1进行计算,谢谢

追答

int xx=0; //初始化成什么都无所谓
cin>>xx; //这里会接收你输入的值 赋值给xx 此时 xx的值就成了你输入的值 而跟上面的初始化时的值没关系了

追问

请问是不是int xx=任何数 都是给他进行初始化 不一定令 int xx=0 才是初始化,谢谢

追答

是的

本回答被提问者采纳
第2个回答  2013-01-30
int xx = 0;

这时候将xx设为0,只是对这个值进行初始化。
即使你不对它进行初始化,有些编译器也会默认初始化的!

当xx参与乘法运算时,它的值是你输入以后的值!

可能你会认为,我已经初始化了,为什么还能修改这个值呢?
这种观点是错误的!一个变量,无论是否初始化,都能在后面的代码中去修改它!
除非用const关键字进行限定,这样它在后面的代码中才不能被修改!追问

请问此时我如果把int xx=0 改为 int xx=1 为什么仍能够正常输入xx进行乘法计算,而不是把xx代做1进行计算,谢谢

第3个回答  2013-01-30
int xx = 0;的意思是对xx进行初始化,
可以分为如下两步的:首先int xx ;声明xx为整形变量,
然后 xx = 0;初始化xx为0。
但是xx仍为一变量,既可以重新赋值,cin>>xx;的意思就是让楼主重新输入xx的值。追问

请问此时我如果把int xx=0 改为 int xx=1 为什么仍能够正常输入xx进行乘法计算,而不是把xx代做1进行计算,谢谢

第4个回答  2013-01-30
int xx = 0; //先定义xx,使他的值等于0
cin>>xx; //从键盘输入一个数,作为xx的新值。

cin>>xx把xx原来的值覆盖了。追问

请问此时我如果把int xx=0 改为 int xx=1 为什么仍能够正常输入xx进行乘法计算,而不是把xx代做1进行计算,谢谢

第5个回答  2013-01-30
声明变量要先对它进行初始化赋值啊追问

请问此时我如果把int xx=0 改为 int xx=1 为什么仍能够正常输入xx进行乘法计算,而不是把xx代做1进行计算,谢谢

相似回答
大家正在搜