问答题
使用VC++6.0打开下的源程序文件1.cpp,该程序运行时有错误,请改正错误,使得程序通过运行。
程序输出结果为
5
a
1
注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。
试题程序:
#included<iostream>
template<class T>
//********error********
t min(t x, t y)
{
return(x>y)? y:x;
}
void main()
{
int n=5;
//********error********
char c="a";
int d=1;
//********error********
cout<<min(n, n)<<endl;
cout<<min(c, c)<<endl;
cout<<min(d, d)<<endl;
}
【正确答案】答案考生文件夹(1)应改为“T min(T x, T y)”。
(2)应改为“char c='a';”。
(3)应改为“using namespace std;”。
【答案解析】[解析] 本题C++是区分大小写的,“template<class T>”语句中定义的模板类为T不是t,所以第1处的“1 min(t x, t y)”修改为“T min(T x, T y)”。第2处的“char c="a";”语句中的变量a为char型,赋值为字符a,在C++中应该使用单引号标注字符变量,而不是双引号,所以修改为“charc='a';”。在程序中用到C++标准库时,要使用std标准命名空间进行限定。cout为标准库函数,所以要声明cout是在命名空间std中定义的流对象,即添加“usingnamespace std;”。