C 语言程序中子函数能不能调用子函数本身?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C 语言程序中子函数能不能调用子函数本身?相关的知识,希望对你有一定的参考价值。

可以。嵌套调用或递归调用子函数。

在C语言中,函数嵌套允许在一个函数中调用另外一个函数。例如
funca()

funcb();

这个就叫做嵌套调用,它是一个语言提供的程序设计的方法,也就是语言的特性。

而递归,是一种解决方案,一种思想,将一个大工作分为逐渐减小的小工作,比如说一个人要搬50块石头,他想,只要先搬走49块,那剩下的一块就能搬完了,然后考虑那49块,只要先搬走48块,那剩下的一块就能搬完了……以此类推的思考,递归是一种思想,只不过在程序中,就是依靠函数嵌套这个特性来实现了。例如
funca()

if(statement1)
funca();
else
exit(0);
递归最明显的特点就是,自己调用自己(就是函数嵌套调用)
参考技术A 可以的,自己调用自己,就是递归调用,很多算法都是递归算法
#include <iostream>
using namespace std:
int funtion(int n)

if(n == 0)

return 0;

if(n==1)

return 0;

return n&funtion(n-1);

int main(int argc,char **argv)

int n = 9;
int result;
result = funtion(n);
cout<<result<<endl;
return 0;
参考技术B 可以,这叫递归本回答被提问者采纳

VB中子程序或函数未定义是啥意思

VB中子程序或函数未定义是指Sub, Function, 或 Property 未定义等。

Sub, Function, 或 Property 未定义(错误
35)

调用 Sub、Function 或 Property 的过程必须定义。此错误有以下的原因和解决方法:

O 过程名称拼错。

    检查拼写并改正。

O 试图从另一个工程调用过程,但并没有在“引用”
对话框中将该引用添加到该工程。

添加引用

    显示“引用” 对话框。

    查找包含要调用过程的工程名。如果“引用” 对话框中没有所要的工程名,请按“浏览”按钮来搜寻它。

    选取工程名左边的复选框。

    单击“确定”。

调用的过程看不到所指定的过程。

在模块中声明为 Private
的过程不能被模块外部的过程调用。如果 Option Private Module
起作用的话,其他工程就不能使用模块中的过程。寻找以确定过程的位置

申明Windows动态链接库
(DLL)例程,但例程不在指定的库或代码资源中。
检查序号(如果正使用的话)或例程名称。请确保 DLL 的版本是正确的。例程有可能只存在于较后的 DLL
版本。如果在路径中,错误版本的目录在含有正确版本的目录之前的话,就会访问到错误的 DLL。所给的 DLL 名称虽正确,但并非指定函数所包含的版本。

详细信息,可选取有问题的项目,并按下 F1 键。 


参考技术A

VB 子程序或函数未定义是设置错误造成的,解决方法为:

1、先绘制一个命令按钮,双击命令按钮进入代码窗口。

2、首先定义一个变体变量。

3、输入一个数字,并使用ABS函数。

4、然后写输出Print语句。

5、然后点击按钮测试。

参考技术B 子程序是指你程序里面调用的程序,来看一下你的程序,Command1_Click() 里面哪里是子程序或者函数,可以发现你调用了一个VB的内置函数MSG,你想用这个函数来输出提示信息,不错。但是,想法很好,函数却用错了,你看一下MSDn会发现根本没有MSG(),近似的有MSGBOX(),这个函数正是输出内容的函数。调用之:
msgbox ("注意,你的1号框里没有任何内空请加入.")
这样没有内容输入的时候,这个提示“注意,你的1号框里没有任何内空请加入.”的对话框旧出来了,学一个函数一定要搞清出他的来历,用法
参考技术C 出问题的程序中,如果有调用其他子过程的代码,可能的原因是1.你被调用的子过程明细写错了,2.你的子过程是在其他的模块,而子过程是private 不是public的过程;如果没有调用其他的过程,那可能是你的函数名字写错了(可能不存在这个函数名字, 比如format,不小心写成了fomat等等。 参考技术D 可能相应的部件没有应用,或者函数名写错了,建议发出代码。

以上是关于C 语言程序中子函数能不能调用子函数本身?的主要内容,如果未能解决你的问题,请参考以下文章

c语言中的函数中值得调用。怎么在主函数中调用子函数的值

c语言中主函数能调用自己吗?

VB中子程序或函数未定义是啥意思

51单片机c语言中断函数不能进行参数传递,是啥意思,谁能解释一下

程序里的函数调用自己,这叫什么来着,貌似有个比较专业的说法

很急,我用keil写一个C语言子函数,去调用数组,怎么写,例如