下列函数声明和函数定义正确的是()。 int fun1(int, int);void fun2(int x,y)l...] int fun1(int x,y);void fun2(int x,int y)f.... int fun1(int x, int y)void fun2(int x,int y)[...] int fun1(int, int);void fun2(int x, int y)[....
时间: 2023-07-14 20:13:41 浏览: 148
正确的函数声明和函数定义是:
1. int fun1(int, int);
2. void fun2(int x, int y);
3. int fun1(int x, int y);
4. void fun2(int x, int y);
5. int fun1(int x, int y);
6. void fun2(int x, int y);
其中,第1个和第5个是函数声明,第2个、第4个和第6个是函数定义,第3个是函数声明和函数定义同时进行,但是参数列表和返回值类型不一致,所以是错误的。
相关问题
逐句分析下列程序:#include "iostream.h" class CTest {public: int x,y; CTest ( int a=1,int b=1 ) :x(a), y(b) { } int fun1() { int k; if ( x<y ) { k=x; x=y; y=k; } if( x%y ==0 ) return y; else { k=x%y; x=y; y=k; cout<<k<<endl; return fun1(); } } int fun2( ) { return ( x * y ) / fun1(); } }; void main() { CTest t1(35,15); cout<<t1.fun1()<<endl; CTest t2(12,32); cout<<t2.fun2()<<endl; }
这是一个 C++ 程序,它包含了一个名为 CTest 的类和一个 main 函数。下面逐句分析:
```
#include "iostream.h"
```
这是一个预处理指令,将 iostream.h 头文件包含进来,以便在程序中使用输入输出流。
```
class CTest {
public:
int x, y;
CTest(int a = 1, int b = 1) : x(a), y(b) { }
int fun1()
{
int k;
if (x < y)
{
k = x;
x = y;
y = k;
}
if (x % y == 0) return y;
else
{
k = x % y;
x = y;
y = k;
cout << k << endl;
return fun1();
}
}
int fun2()
{
return (x * y) / fun1();
}
};
```
这是定义 CTest 类的部分。CTest 类包含有两个成员变量 x 和 y,在构造函数中可以指定其默认值为 1。CTest 类还包含有两个成员函数 fun1 和 fun2。fun1 函数是递归函数,用于计算 x 和 y 的最大公约数,它返回 y 的值,同时在每次递归调用时输出 k 的值。fun2 函数用于计算 x 和 y 的最小公倍数,它调用了 fun1 函数。
```
void main()
{
CTest t1(35, 15);
cout << t1.fun1() << endl;
CTest t2(12, 32);
cout << t2.fun2() << endl;
}
```
这是主函数的部分,它创建了两个 CTest 类的对象 t1 和 t2,并分别调用了它们的 fun1 和 fun2 函数,将结果输出到标准输出流。
分析下列程序,并显示结果:#include "iostream.h" class CTest {public: int x,y; CTest ( int a=1,int b=1 ) :x(a), y(b) { } int fun1() { int k; if ( x<y ) { k=x; x=y; y=k; } if( x%y ==0 ) return y; else { k=x%y; x=y; y=k; cout<<k<<endl; return fun1(); } } int fun2( ) { return ( x * y ) / fun1(); } }; void main() { CTest t1(35,15); cout<<t1.fun1()<<endl; CTest t2(12,32); cout<<t2.fun2()<<endl; }
这是一个 C++ 程序,功能是定义了一个类 CTest,其中包含两个成员变量 x 和 y,以及两个成员函数 fun1 和 fun2。
在主函数 main 中,创建了两个 CTest 类的对象 t1 和 t2,并分别调用了 fun1 和 fun2 函数。
fun1 函数的作用是求 x 和 y 的最大公约数。如果 x < y,则交换 x 和 y。然后判断 x 和 y 是否互质,若是则返回 y,否则将 x 取模 y 的结果赋值给 k,然后将 y 赋值为 k,x 赋值为原来的 y,再递归调用 fun1 函数,直到 x 和 y 互质为止。在递归过程中,每次求出的 k 值都会输出到屏幕上。
fun2 函数的作用是求 x 和 y 的最小公倍数,即 x 和 y 的乘积除以它们的最大公约数。
程序运行结果为:
10
96
其中,第一行输出的是 t1.fun1() 的返回值,即 10;第二行输出的是 t2.fun2() 的返回值,即 96。
阅读全文