问答题 使用VC6打开 下的源程序文件modi1.cpp,该程序运行时有错误,请改正错误,使得程序通过运行。
程序输出:
5
a
1
注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//********error********的下面。
#include<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)
【正确答案】
【答案解析】(1)T min(T x,T y)
(2)char c="a";
(3)using namespace std;
答案考生文件夹 [解析] 程序的主要功能是实现题目要求的输出,解题的关键是通过调试中出现的错误提示语句,进行主要分析。
(1)C++是区分大小写的,“template<class T>”语句中定义的模板类为T不是t,所以第1个标识下的“t min(tx,ty)”修改为“T min(T x,T y)”。
(2)第2个标识下的“char c="a";”语句中的变量a为char型,赋值为字符a,在C++中应该使用单引号标注字符变量,而不是双引号,所以修改为“char c="a";”。
(3)在程序中用到C++标准库时,要使用std标准命名空间进行限定。cout为标准库函数,所以要声明cout是在命名空间std中定义的流对象,即添加using namespace std;”。