C语言中如何调用一个函数的子函数?

作者&投稿:大叔叛 (若有异议请与网页底部的电邮联系)
~ 要知道 C语言是由MAIN函数开始也由它结束。
每调用一次分函数,只要运行完毕后就会回到调用分函数的地方继续往后执行。
C语言主要靠函数调用和return在函数之间切换,很难做到在多层调用中直接返回主函数。虽然goto语句可以无条件跳转,但是必须在同一个函数中使用。
因此解决的方法也是用一个特殊的值作为需要返回的标志,然后在两层调用函数中都遇到该值就返回,但是这个方法也有两个前提:
1)你的两个子函数都是由返回值的函数
2)你选择的特殊值和函数正常的返回的取值不会冲突,不会引起二义性。
同样的操作,C++可以通过异常处理的throw和catch来实现从子函数的子函数直接返回主函数,汇编语言可以用jmp指令跳转实现这个需求。因此建议你的这个问题还是用C++ 的异常去解决比较好。


c语言中调用一个函数,例如float ave(float array【],int n)括号中的是...
那只是声明两个变量:第一个是float型指针,名为array,第二个是int型普通变量,名为n。这两个参数都是函数ave的局部变量,调用ave时才由主调函数向这两个参数传值。这两个参数稍有特别,不用赋值就能在函数体中引用,所以有专门的名字叫“形式参数”。

c语言中可以在一个函数中调用另一个函数吗
可以啊 但是调用的函数需要先声明或者定义,或者是公用函数

VHDL语言中如何调用元件
例子:我在顶层文件中调用一个最简单的1位加法求和器,元件库中就有这个元件,多少位是可以自己设置的:entity top-- ---略 end top;architecture one of top is component add--元件add port(dataa,datab:in std_logic;cin:in std_logic;cou:out std_logic;sum:out std_logic );end ...

C语言中的函数调用定义...高人解释下
8.4.2 函数调用的方式 在C语言中,可以用以下几种方式调用函数:1. 函数表达式:函数作为表达式中的一项出现在表达式中,以函数返回值参与表达式的运算。这种方式要求函数是有返回值的。例如:z=max(x,y)是一个赋值表达式,把max的返回值赋予变量z。2. 函数语句:函数调用的一般形式加上分号即构成...

C语言中能否在一个自定义函数中调用另一个自定义函数?
当然可以!C语言程序的最基本的模块就是函数,该程序规定:任意函数都可以调用其它任意一个函数,包括函数本身;1、函数调用自己本身, 这种称为递归;通过递归,计算1+2+3+...+n值的代码:2、自定义函数调用其它自定义函数的例子:这个例子就是主函数调用自定义函数fun2,然后fun2调用另一个自定义...

C语言中,主函数中调用一个随机数函数,保证每次产生的随机数不重复,该如...
其实只要做一次种,然后再调用rand()就能产生不同的结果了,不用每次调用rand()之前都用srand()做种的 也就是说你那个程序可以改为 srand(time(0));for(a=0; a<200; a++){ \/* Two adjacent values of random numbers must be different *\/ R=rand()\/(RAND_MAX+1.0);b=int(R*num) ...

C语言 如何在一个文件中调用另一个文件的函数 用头文件
file1.c 头文件为file1.h file2.c 头文件为file2.h 比如file2.c要调用file1.c里的一个函数 首先file2.c里要包含file1.h头文件(file1.h里有file1.c的函数申明)然后file2.c文件里要有file1.c里的外部函数申明,用extern关键字申明 然后就可以直接file2.c里面调用file1.c里的函数了 ...

C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是什么...
函数只有两种传递方式:1、值传递,又称单向传递,只能把实参数值传给形参 ,形参最后的结果不影响实参(形参改变大小 ,实参大小不变)。2、址传递,通过指针,把实参的地址给形参,形参的大小可以影响实参。

C语言中。如果编写了一个函数,想在不同源文件中调用。
在你要调用的程序文件里包含被调用程序的头文件,如1.h,1.c,在1.c里定义好了你的函数"void print_xxx(){}",在1.h里申明"void print_xxx();"了这个,然后另一个文件就可以调用了,文件的开头写上:#include "1.h"

c#如何调用另外一个项目的类
在c#中调用另外一个项目的类:1.在A项目上添加引用,比如你想调用B项目的一些类或方法。2.在A项目上右键-->添加引用(add reference) 选择本地项目,找到B项目后,添加引用。3.程序中使用using B。4.这样就可以使用B中的类和方法了。C#:C#是微软公司发布的一种面向对象的、运行于.NET Framework之上...

嫩江县19240093065: c语言主函数调用子函数问题 -
亢盆益母: max 函数在 main 之后定义,使用时要在 main 中声明,否则调用时找不到函数的位置,或是把 max 函数放在 main 的前面.#include<stdio.h> main() { int a,b,c; /*下面一行为所加内容*/ int max(int x,int y); scanf("%d,%d",&a,&b); c=max(a,b); printf("max=%d",c);} int max(int x,int y) { int z; if (x>y) z=x; else x=y; return (z); }

嫩江县19240093065: c语言子函数的调用格式是什么 -
亢盆益母: 调用子函数的目的是程序代码的可读性,如果一个函数超过了20行那就考虑调用子函数来完成了.

嫩江县19240093065: C语言中,主函数中已经赋值的数组怎么调用到子函数 -
亢盆益母: 1:子函数中sum没有初值,应该为 float sum=0; 2:sum/10的结果为浮点型,你定义一个整型的avg1接收会产生错误,应该定义一个浮点型变量接收值 3:你这里是三个学生,你在函数中不应该除以10,另外函数中的循环取得的sum值是一个学生五门功课的成绩总和,如果要求每一门功课的 平均成绩,你的循环需要修改 4:函数的调用是压栈的过程,你的函数没有返回值所以不可以return b[5],如果想要返回一个数组你应该在主函数中先定义然后向自定义函数中传入子函数地址,这样就可以保存每门功课的成绩了 希望可以帮到你

嫩江县19240093065: 在下向前辈请教一下C语言中如何调用与定义子函数?在下智商实在是低,所以希望大家解释清楚一些. -
亢盆益母: C语言中,程序的入口一般是 一个叫main()的函数,该函数不可被调用,是程序开始执行的起点.在调用函数之前,必须先定义(也就是先得有这个函数,才能用它).函数的定义方式为:返回值类型 函数名(参数列表){ 执行语句 } 也就是说,你只需要按照上面的格式来写,就能定义一个函数.例如:void Display(int a, int b)//函数定义 { a = b; b = a; } 函数定义好之后,调用它很简单.如要调用上面的函数只需:void main() { Display(1, 2);//函数调用 }

嫩江县19240093065: C语言中,为什么主函数不可以直接调用子函数 -
亢盆益母: 可以直接调用子函数,方法如下: (1)在主函数之前定义子函数,在主函数体内可以直接调用. (2)在主函数之后定义子函数,在主函数体内必须先声明子函数,才可以调用.

嫩江县19240093065: C语言的子程序该怎么调用? -
亢盆益母: 我没学过VB,但是C里的子函数都是你调用才运算的呀,函数的类型就是返回值的类型,如float count(int a){...;return z;}就定义了一个返回值为float型的函数

嫩江县19240093065: c语言,怎么调用子函数.注意,我的子函数里只有printf一句话. -
亢盆益母: void print(void) { printf("aaaaaaaaaaaaa\n"); } main() { print(); return 0; }

嫩江县19240093065: c语言中如何用子函数调用结构体中的变量实现数据的输入与输出. -
亢盆益母: 用子函数实现结构体数据的输入与输出:对于多数子函数的输入与输出,有一定规律性可言. 方法1:void型不传值传址调用与声明.main中声明void date_in(),void date_pout().函数定义前一定在main()前先定义结构体变量(全局变量),然...

嫩江县19240093065: c语言编写中,两个文件中,主函数如何调用子函数 -
亢盆益母: #include void max(){ printf("世界,你好!\n");}然后主函数怎样调用?void max();//在这里先申请子函数#include...

嫩江县19240093065: c语言编写子函数 -
亢盆益母: 原发布者:舆子共翩跹第七章函数7.1概述一、C函数的概念将一个C程序分为若干模块,每个模块实现一个特定的功能,在C语言中用函数来实现模块的功能.函数是具有某种功能的独立程序段.二、C函数与C程序结构⑴C程序由主函数(...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网