C++这里的变量初始化有没有必要?

C++这里的变量初始化有没有必要?doublefish_count=0.0;//Numberoffishdoublefish_length=0.0;//Averagele... C++这里的变量初始化有没有必要?
double fish_count = 0.0; // Number of fish
double fish_length = 0.0; // Average length of fish
书上说“这两个变量没有必要初始化它们,但是最好还是初始化。”这是为什么呢?请告诉我原因?
// Program 2.6 Sizing a pond for happy fish
#include <iostream>
#include <cmath> // For square root calculation
using std::cout;
using std::cin;
using std::sqrt;

int main() {
const double fish_factor = 2.0/0.5; // Area per unit length of fish
const double inches_per_foot = 12.0;
const double pi = 3.14159265;

double fish_count = 0.0; // Number of fish
double fish_length = 0.0; // Average length of fish

cout << "Enter the number of fish you want to keep: ";
cin >> fish_count;
cout << "Enter the average fish length in inches: ";
cin >> fish_length;
fish_length = fish_length/inches_per_foot; // Convert to feet

// Calculate the required surface area
double pond_area = fish_count * fish_length * fish_factor;

// Calculate the pond diameter from the area
double pond_diameter = 2.0 * sqrt(pond_area/pi);

cout << "\nPond diameter required for " << fish_count << " fish is "
<< pond_diameter << " feet.\n";
return 0;
}
展开
 我来答
木子12王白石
2011-10-30 · 超过31用户采纳过TA的回答
知道答主
回答量:101
采纳率:0%
帮助的人:68.5万
展开全部
如果不给数值型变量赋值的话,系统会随机分配乱值(不信的话,可以试试。只定义,不赋值,然后输出,输出结果看看就知道了)。而在本程序中,为了得出结果肯定会给它赋值,所以不管它以前是什么乱值都无所谓了。
但是,在一般较复杂的程序中,都会给用到的量进行初始化。这是一个习惯。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
adoqq_bd
2011-10-29 · TA获得超过7050个赞
知道大有可为答主
回答量:1818
采纳率:63%
帮助的人:1620万
展开全部
变量的初始化不是一个规则,而是一个建议,比如第一次使用时该变量时它是当作右值使用的(就是在等号的右边),那整个表达式的值可能就是意外的,这种情况下初始化是必须的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tt_mzz
2011-10-29
知道答主
回答量:2
采纳率:0%
帮助的人:3万
展开全部
此段代码可以不初始化,因为这两个变量的初始值是外部输入的。如果这两个变量的值是直接计算使用,就不能假设它们为0。为了养成一个好的习惯还是先初始化比较安全
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱数学的孙先森
2011-10-29 · TA获得超过1511个赞
知道小有建树答主
回答量:791
采纳率:60%
帮助的人:194万
展开全部
是没有必要初始化,但是在复杂的运算时初始化会节省时间
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式