c++中的函数能嵌套定义吗?
答案:2 悬赏:0 手机版
解决时间 2021-11-10 23:29
- 提问者网友:萌卜娃娃
- 2021-11-10 01:03
c++中的函数能嵌套定义吗?
最佳答案
- 五星知识达人网友:廢物販賣機
- 2021-11-10 02:28
c++是不鼓励在函数体内定义函数,但是也是可以的
#include
void main()
{ int max_4(int a,int b,int c,int d);
int a,b,c,d,max;
printf(“4 interger numbers:");
scanf("%d%d%d%d",&a,&b,&c,&d);
max=max_4(a,b,c,d);
printf("max=%d \n",max);
}
int max_4(int a,int b,int c,int d)
{ int max(int a,int b);
int m;
m=max(a,b);
m=max(m,c);
m=max(m,d);
return(m);
}
int max(int x,int y)
{ if(x>y)
return x;
else
return y;
}
#include
void main()
{ int max_4(int a,int b,int c,int d);
int a,b,c,d,max;
printf(“4 interger numbers:");
scanf("%d%d%d%d",&a,&b,&c,&d);
max=max_4(a,b,c,d);
printf("max=%d \n",max);
}
int max_4(int a,int b,int c,int d)
{ int max(int a,int b);
int m;
m=max(a,b);
m=max(m,c);
m=max(m,d);
return(m);
}
int max(int x,int y)
{ if(x>y)
return x;
else
return y;
}
全部回答
- 1楼网友:西风乍起
- 2021-11-10 02:36
函数不能嵌套定义。追问在贴吧里有人说是可以的。正在询问相关答案及写法。有兴趣可以过来一起看。追答它说的只是在一个函数中声明别的函数吧?这个当然是可以的,但是那个子函数的具体实现不能在别的函数里面。追问你的意思是子函数的参数值不能取自外面的函数吗?还是说函数不能嵌套调用?追答我说的是函数不能嵌套“定义”,不是嵌套调用, 嵌套调用是可以的。
如下:
void fun1()
{
printf("in fun1\n");
void fun2() { //这儿是嵌套的定义fun2(), 这是不合法的。
printf("in fun2\n");
}
}
但是嵌套调用可以,如下:
int squre(int a)
{
return a*a;
}
int sum(int a, int b) {return a+b;}
void main() {
int a= 1, b=2;
int result = squre(sum(a,b)); //这儿嵌套调用函数是合法的。
}
如下:
void fun1()
{
printf("in fun1\n");
void fun2() { //这儿是嵌套的定义fun2(), 这是不合法的。
printf("in fun2\n");
}
}
但是嵌套调用可以,如下:
int squre(int a)
{
return a*a;
}
int sum(int a, int b) {return a+b;}
void main() {
int a= 1, b=2;
int result = squre(sum(a,b)); //这儿嵌套调用函数是合法的。
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯