C语言返回函数问题

来源:百度知道 编辑:UC知道 时间:2024/06/09 02:25:15
编写函数j(n),用于计算1*2*...*n的值。
int j(int n)
{ int i,s=1;
for(i=1;i<=n;i++)
s=s*i;
return s;}
我想知道这里好像没有给n赋值....
还有返回s的值 是返回 s*i之后的值吗??
如果是,s返回给谁了???还是s 吗

1、我想知道这里好像没有给n赋值.... //函数就相当个工具,你还没用到这个工具他就嘛也不是
2、还有返回s的值 是返回 s*i之后的值吗?? //对是的,因为你已经定义了s的计算方法
3、如果是,s返回给谁了???还是s 吗//本函数中返回的值是s,给了谁你要看你主程序调用的时候给了谁
=====================================================================
例子
===================================================================
int j(int n)
{ int i,s=1;
for(i=1;i<=n;i++)
s=s*i;
return s;}
viod main()
{
int a,b;
scanf("%d",&a);//接收a
b=j(a);//函数调用,这关于你1、2、3的问题都有了,在这你的函数有意义了,返回值就给了b。
printf("%d",b);//打印出b。
}

这是个自定义函数,用的时候要在主函数里传参数,打个比方吧
在主函数这样用:
int x;
x=j(4);
这样,把4传给了n,就能运算,s也有了结果,把s的值返回到主函数,赋给x,这就可以了。

#include <stdio.h>

int j(int n)
{
int i,s=1;
for(i=1;i<=n;i++)
s=s*i;
return s;
}

void main()
{
int k;
k=j(3);

printf("%d\n",k);
printf("%