| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 905 人关注过本帖
标题:为什么要初始化??
只看楼主 加入收藏
monkeyzhen
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-1-27
收藏
 问题点数:0 回复次数:4 
为什么要初始化??

我刚开始学C++,写了一个小程序
提示出来这个

#include<iostream>
using namespace std;
int main()
{
double lang,ma;
ma=lang*220;
cout<<"Enter the lang:";
cin>>lang;
cout<<"It equals to "<<ma<<" ma"<<endl;
return 0;
}


F:\study\second.cpp(6) : warning C4700: local variable 'lang' used without having been initialized
是没有赋初值吧?可是为什么要赋初值呢?不明白,麻烦解答一下

[此贴子已经被作者于2007-1-27 20:40:26编辑过]

搜索更多相关主题的帖子: lang DIV cout 
2007-01-27 20:38
monkeyzhen
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-1-27
收藏
得分:0 

由于是warning可以运行,运行后无论输入什么,出来的都是
[QUOTE]-2.03631e+|064[/QUOTE]
这又是为什么呢?

2007-01-27 20:43
蓝鹰
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-8-26
收藏
得分:0 
以下是引用monkeyzhen在2007-1-27 20:38:00的发言:

我刚开始学C++,写了一个小程序
提示出来这个

#include<iostream>
using namespace std;
int main()
{
double lang,ma;
ma=lang*220;
cout<<"Enter the lang:";
cin>>lang;
cout<<"It equals to "<<ma<<" ma"<<endl;
return 0;
}


F:\study\second.cpp(6) : warning C4700: local variable 'lang' used without having been initialized
是没有赋初值吧?可是为什么要赋初值呢?不明白,麻烦解答一下



当然没有赋初值,ma=lang*220应该放在cin>>lang;之后,不然lang的值是不确定的,&lang将是一个不确定的内存空间,只有在用cin>>lang;后,lang才被分配了相应的内存空间并有相应的值,才能进行lang*220运算,否则将得到一个不可预料的值.

2007-01-27 21:38
monkeyzhen
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-1-27
收藏
得分:0 
嗯。这个问题也是刚从别的地方请教人 明白了过来。呵呵
还是多谢了
帮忙看看那个编程的问题
2007-01-27 21:45
虫虫飞ya飞
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2005-11-28
收藏
得分:0 
#include<iostream>
using namespace std;
int main()
{
double lang,ma;

cout<<"Enter the lang:";
cin>>lang;
ma=lang*220;
cout<<"It equals to "<<ma<<" ma"<<endl;
return 0;
}
ma=lang*220;换到cin>>lang;下面不然你的lang都没值拿什么跟220乘

2007-01-31 15:15
快速回复:为什么要初始化??
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032451 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved