mdsk.net
当前位置:首页 >> C语言,子函数计算的值如何在在主函数输出 >>

C语言,子函数计算的值如何在在主函数输出

#include<stdio.h> int main() { int f(); //子函数的声明 int a=f(); //得到子函数计算的结果(就是调用子函数) printf("%d",a); //输出a的值 } int f() //子函数的实现 { int a; //声明整形变量a a=1+1; //计算得到a的值 return a; //返回a的值(若不返回,在主函数中不能得到这个值) } 其中这里有个误区,就是在子函数和主函数中 变量用了一个字母,很容易误导新人以为那是一个变量,其实不然,子函数中的a在函数调用结束就已经不在了,主函数中的a又是另外一个变量.也可以不定义成一样的字母,容易区分一点.

最简单的方法,将n1,n2,n3定义为全局变量,放在#include <stdio.h>的下面#include <stdio.h>int n1, n2, n3;在main函数和find函数中将n1,n2,n3的定义都去掉,这样就可以了

用一个变量存放返回值,或者采用引用参数的形式改变要输出的值

1. 把那5个函数加个参数,如void output(int a[], int n);2. 把n定义为全局变量

子函数返回直接return就好了嘛 int f(){ int a; scanf("%d",&a); return a; }

假如你的函数名是 void output(); 那么你在函数中直接调用 output();就可以了,如果有参数的话, 在括号 里要加入

通过指针、或数组来做形参.

C语言:在主函数中输入10个数,定义一个子函数求其数据和,将结果在主函数中输出?#include<stdio.h> double DSum(double a,float b) { double sum=0.0; sum= a+b; return sum; } Int main() { int i=0; float dat; double sum=0.0; for(i=0;i<10;i++) { scanf(“%f”,&dat); sum= DSum(sum, dat); } printf(“sum=%f”,sum); return 0; }

c++可以通过异常处理的throw和catch来实现从子函数的子函数直接返回主函数,汇编语言可以用jmp指令跳转实现这个需求. c语言主要靠函数调用和return在函数之间切换,很难做到在多层调用中直接返回主函数.虽然goto语句可以无条件跳转

通过参数调用啊.可以在子函数里定义几个需要用到的形参,调用时用实参调用就可.

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com