C++Primer中文版(第四版)题解整理(2)
时间:2025-04-20
时间:2025-04-20
C++Primer题解
#include<iostream>
#include"windows.h"
usingnamespacestd;
intmain()
{
system("CLS");
cout<<"Entertwonumbers:"<<endl;
intv1,v2;
cin>>v1>>v2;
cout<<"Thesumof";
cout<<v1;
cout<<"and";
cout<<v2;
cout<<"is";
cout<<v1+v2;
cout<<endl;
return0;
}习题1.6
解释下面的程序段:
std::cout<<"Thesumof"<<v1;
<<"and"<<v2;
<<"is"<<v1+v2
<<std::endl;
这段代码合法吗?如果合法,为什么?如果不合法,又为什么?
【解答】
这段代码不合法。
注意,第1、2、4行的末尾有分号,表示这段代码包含三条语句,即第1、2行各为一个语句,第3、4行构成一个语句。“<<”为二元操作符,在第2、3两条语句中,第一个“<<”缺少左操作数,因此不合法。
在第2、3行的开头加上“std::cout”,即可更正。
习题1.7
编译有不正确嵌套注释的程序。
【解答】
由注释对嵌套导致的编译器错误信息通常令人迷惑。例如,在笔者所用的编译器中编译1.3节中给出的带有不正确嵌套注释的程序:
#include<iostream>
/*
*commentpairs/**/cannotnest.