C语言r 自定义函数返回值值的问题

简单c语言问题,为什么自定义函数返回值为0_百度知道
简单c语言问题,为什么自定义函数返回值为0
#include&stdio.h&
int f1(int,int);
int f2(int);
float f3(int,int);
int f1(int x,int n)
for(i=2,j=n;i&=x;i++)
int f2(int x)
for(i=1,j=1;i&=x;i++)
float f...
我有更好的答案
f2(i)int f1(int!+3!+.,int);int f2(int);float f3(int,你应该能写出这个题目的更简单的代码其实你的错误在这里sum=f1(i,n)/就是这一句因为f1,完全可以不用再定义你的这个问题.0*f1(i,n)/}参考一下;f2(i)或者sum=(float)1;=n;i++){
&#47.0*f1(i,n)&#47,因为子函数带来的计算了会更大一些你应该见过1!+2,完全可以不要子函数!这个题目的计算代码我现在给你写一下int i,n=1,sum=0;for(i=1;i&lt,n)/f2(i)得到的结果也是int型的,如果在0~1之间的结果,那么就是0改为sum=1,f2返回的都是int型的,那么f1(i..+n,但是在这里计算了会小很多
sum+=n;/先后荣获就是计算n!的,如你的子函数计算,int);这三句完全可以不要再子函数的定义中,如果子函数的代码在调用它的前面写
不好意思题目要求要子函数。。但是我的改了sum还是不对。
基本功不扎实啊sum没有初始化
对不起啊。。。已初始化还是不对
#include&stdio.h&int f1(int x,int n)
//我不知道是计算什么的,语法没有问题,返回n的x次方{
for(i=2,j=n;i&=x;i++)
//最好不要改变参数的值}int f2(int x)
//返回x的阶乘{
for(i=1,j=1;i&=x;i++)
j=j*i;}float f3(int x,int n){
float sum=0;
//要是公式前面有1,那么可以赋值为1
for(i=1;i&=x;i++)
sum+=1.0*f1(i,n)/f2(i);
sum=sum+1;
//没看懂这一句的意思,要是求x^n/n!,呢么这一句不要
}}void main(){int x,n;printf(&put the integer number of n and x you want to calculate:\n&);scanf(&%d%d&,&n,&x);y=f3(x,n);printf(&the calculated amount of e^n is %d!&,y);}
已完全按照大神您的标准修改完整程序。且sum+=(float)f1等等。。但值不对。。。。不好意思大神求继续帮助或直接加q等等
printf(&the calculated amount of e^n is %d!&,y);printf(&the calculated amount of e^n is %f!&,y);我只负责中心算法,和一些逻辑上的东西,这种小问题,自己解决,呵呵你思路还是可以,就是一些小地方,需要慢慢的积累,我没法子帮你快速提高这都是基本功
采纳率:48%
0000。?另外重点是你要注意两个整型数(int)相除结果为整形,如10/3=3 你在把3赋给float 那么float的结果为3。。,n)/f2(i);
sum=sum+1; }话说你的sum循环赋给不同的值怎么解。再则如果是给过是0点几再付给float 那么float结果就是0。for(i=1;i&lt??;=x;i++) {
sum=f1(i。。
改了sum+=1.0*。。。。;值溢出了求解谢谢
怎么回事?
为您推荐:
其他类似问题
返回值的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。C语言-10.自定义函数_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
C语言-10.自定义函数
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩12页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢C语言中自定义函数能既有输出又有返回值吗_百度知道
C语言中自定义函数能既有输出又有返回值吗
我有更好的答案
\n&/当然可以;r=%d,out=%d.h&#include&*pt=1001;printf(&quot.h&int main(){int f(int *pt);int r,r=f(&out);printf(&quot。//,r,out);,r);如;return EXIT_SUCCESS;):#include&返回%d到主调函数!\n&system(&PAUSE&
}int f(int *pt){int r=100&#47
采纳率:85%
来自团队:
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。C语言中数组作为函数的参数以及返回值的使用简单入门
转载 & & 投稿:goldensun
这篇文章主要介绍了C语言中数组作为函数的参数以及返回值的使用简单入门,这里以一维数组作为基本条件进行例子讲解,需要的朋友可以参考下
函数通过数组作为参数
如果想通过一个一维数组作为函数的参数,就必须声明函数形式参数,使用以下三种方式与所有三个声明方法之一产生类似的结果,因为每一种方式告诉编译器,一个整数指针将会要被接收。类似的方式,可以使用多维数组形式参数。
形式参数为指针如下。在下一章将学习什么是指针。
void myFunction(int *param)
如下形式数组参数的大小:
void myFunction(int param[10])
如下形式数组参数作为可变大小:
void myFunction(int param[])
现在,考虑下面的函数,这将需要一个数组作为另一个参数,并根据传递的参数,它会返过数组数值的平均值,如下:
double getAverage(int arr[], int size)
for (i = 0; i & ++i)
sum += arr[i];
avg = sum /
现在,让我们调用上面的函数如下:
#include &stdio.h&
/* function declaration */
double getAverage(int arr[], int size);
int main ()
/* an int array with 5 elements */
int balance[5] = {, 17, 50};
/* pass yiibaier to the array as an argument */
avg = getAverage( balance, 5 ) ;
/* output the returned value */
printf( "Average value is: %f ", avg );
当上述代码被编译在一起并执行时,它产生了以下结果:
Average value is: 214.400000
正如所看到的,数组的长度并不重要,只要C语言函数不进行形式参数的边界检查。
函数返回数组
C语言编程不允许返回整个数组作为参数传递给函数。但是,可以通过指定数组名不带索引返回一个指针数组。如果想从一个函数返回一个一维数组,就必须声明返回一个指针,如在下面的例子中的函数:
int * myFunction()
第二点要记住的是,C语言不提倡局部变量的地址返回在函数之外,所以必须定义局部变量为静态变量。
现在,考虑下面的函数,将产生10个随机数字和使用数组返回它们,并调用这个函数如下:
#include &stdio.h&
/* function to generate and return random numbers */
int * getRandom( )
static int r[10];
/* set the seed */
srand( (unsigned)time( NULL ) );
for ( i = 0; i & 10; ++i)
r[i] = rand();
printf( "r[%d] = %d
", i, r[i]);
/* main function to call above defined function */
int main ()
/* a yiibaier to an int */
p = getRandom();
for ( i = 0; i & 10; i++ )
printf( "*(p + %d) : %d
", i, *(p + i));
当上述代码被编译在一起并执行时,它会产生导致一些如下:
*(p + 0) :
*(p + 1) :
*(p + 2) :
*(p + 3) :
*(p + 4) :
*(p + 5) :
*(p + 6) :
*(p + 7) :
*(p + 8) :
*(p + 9) :
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具}

我要回帖

更多关于 asp 自定义函数返回值 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信