练习2.9
(a) std::cin >> int input_value; // 错误,原因是,>>输入运算符的工作是将输入流istream中的数据赋值给>>右边的变量,而对变量赋值并不是初始化工作。也就是说该变量未经初始化。
(b) int i = {3.14}; // 错误, 列表初始化不能存在数值丢失
(c) double salary=wage=9999.99; //错误,wage没有声明类型
(d) int i=3.14 ; //正确,虽然数据丢失,但能正常编译
练习2.10
#include <iostream>
std::string global_str; //为空
int global_int; //函数外定义,默认初始化为0
int main(){
int local_int; //函数内定义,默认初始化为随机值
std::string local_str; //空
std::cout<<"gloabal_str\t"<<global_str<<std::endl;
std::cout<<"global_int\t"<<global_int<<std::endl;
std::cout<<"local_int\t"<<local_int<<std::endl;
std::cout<<"local_str\t"<<local_str<<std::endl;
return 0;
}
运行结果为
gloabal_str
global_int 0
local_int 0
local_str