练习5.5:写一段自己的程序,使用ifelse语句实现把数字转换成字母的要求。
练习5.6:改写上一题的程序,使用条件运算符(参见4.7节,第134页)代替ifelse语句。
练习5.7;改正下面代码段中的错误。
(a)
if (ivall != iva12)
ivall = ival12;
else ival1 = ival2 = 0;//else ival1 = 0, ival2 = 0;
(b) if(ival < minval)
minval = ival;}
occurs = 1;
答
if(ival < minval)
{
minval = ival;
occurs = 1;
}
(c)if (int ival = get_value())
cout << “ival = ” << ival << endl;
答:
int ival =0 ;
if (ival = get_value())
cout << “ival = ” << ival << endl;
(d) if (ival = 0)
ival = get_value();
答:if (ival == 0) ival = get_value();
练习5.8:什么是悬垂else?C++语言是如何处理else子句的?
答:当一个if语句嵌套在另外一个if语句内部时,很可能if分支会多于else分支,某个给定的else与哪个if匹配是个问题。这就是悬垂else。 C++处理悬垂else方式是就近匹配if