十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
无返回值的函数,只进行某种操作。
网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了新源免费建站欢迎大家使用!
有返回值的函数,可以将某个变量或指针返回其调用函数。
两者形式上的区别如下:
无返回值:void
fun1();
有返回值:int
fun2();
调用的区别:
无返回值:
main()
{
……
fun1();
……
}
有返回值:
main()
{
int
a;
……
a=fun2();
……
}
不是必须有返回值。如果没有返回值类型名为"void"。
void函数的定义:
void+函数名()//无类型+函数名
{// 程序代码
}
如果没有返回值类型名为"void", 整数类型int 类型返回值为整数类型int,以此类推……
类型名有:void int long float int* long* float* ……
扩展资料:
需要说明的是:
1、一个C语言源程序可以由一个或多个源文件组成。
2、每个源文件可由一个或多个函数组成。
3、一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。
4、源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面。
5、每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。(结构体、联合体、枚举型的声明的“}”后要加“ ;”。)
6、标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。
参考资料:
百度百科-函数
递归函数myPower的定义有逻辑错误,改成:
double myPower(int a,int b)
{
if(0==b) return 1;
return a*myPower(a,b-1);
}
如果改成这样,会更高效:
double myPower(int a,int b)
{
if(0==b) return 1;
if(1==b) return a;
return myPower(a,b%2)*myPower(a*a,b/2);
}
例子1
#include stdio.h
double myPower(int a,int b)
{
if(0==b) return 1;
return a*myPower(a,b-1);
}
int main()
{
int a=2,b;
for(b=0;b11;b++)
printf("%lf\n",myPower(a,b));
return 0;
}
例子2
#include stdio.h
double myPower(int a,int b)
{
if(0==b) return 1;
if(1==b) return a;
return myPower(a,b%2)*myPower(a*a,b/2);
}
int main()
{
int a=3,b;
for(b=0;b11;b++)
printf("%lf\n",myPower(a,b));
return 0;
}
无返回值的函数,只进行某种操作。\x0d\x0a有返回值的函数,可以将某个变量或指针返回其调用函数。\x0d\x0a\x0d\x0a两者形式上的区别如下:\x0d\x0a无返回值:void fun1();\x0d\x0a有返回值:int fun2();\x0d\x0a\x0d\x0a调用的区别:\x0d\x0a无返回值:\x0d\x0amain()\x0d\x0a{\x0d\x0a??\x0d\x0afun1();\x0d\x0a??\x0d\x0a}\x0d\x0a有返回值:\x0d\x0amain()\x0d\x0a{\x0d\x0aint a;\x0d\x0a??\x0d\x0aa=fun2();\x0d\x0a??\x0d\x0a}