c语言空函数没有返回值 c语言中没有返回值

c语言里面的无返回值到底是怎么回事,谢谢了,大神帮忙啊无返回值就是函数只执行数据处理,不返回值 。函数定义时一般用void关键字表示无返回值 。
如调用string类库中的int
i
=
strcmp("abc",
"abc")函数判断两个参数是不是相等,两个都"abc"
则i
=
0,这是有返回值的
简单c语言函数调用无返回值问题?递归函数myPowerc语言空函数没有返回值的定义有逻辑错误c语言空函数没有返回值 , 改成c语言空函数没有返回值:
double myPower(int a,int b)
{
if(0==b) return 1;
return a*myPower(a,b-1);
}
如果改成这样,会更高效c语言空函数没有返回值:
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;
}
c语言没有返回值什么意思,通俗说.很正常啊,没有返回值 , 就是不需要返回值 。
比如:定义一个函数,在函数中打印信息到屏幕上 。
void displayMessage(char *msg) {
#ifdef NEED_DEBUG
printf("%s\n", msg);
#endif
}
很显然 , 调用这个函数 , 我不需要知道信息是不是已经打印到屏幕上了 。(只有调试程序 , 才需要显示信息)
有很多类似的场景 , 比如:某个程序,根据给定的参数,在屏幕上绘制完成一个图像 , 而调用者不关心图像是不是绘得正确,因为正确与否不影响程序的继续执行 。
为什么空函数没有返回值?有些时候函数把事情做完就行c语言空函数没有返回值了c语言空函数没有返回值 , 不需要返回值,这时相当于某些语言里的过程 。
另外一些时候,函数需要多个返回值,这时通过参数传递时传地址的方式来编写函数,这样函数执行结束,相应的值已经传回调用处,也不要返回值 。
函数定义时,一般格式为c语言空函数没有返回值:
类型 函数名(参数表)
{
return 表达式
}
其中 , 类型指定 函数返回值的类型 。
表达式指定 返回值,若此语句省略 , 则类型应为 Void 。
viod 一般用在没有返回值的函数中,写return;是为c语言空函数没有返回值了跳出函数 。
return 表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定 。return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的 。如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况 。有时即使被调用函数是void类型 被调函数中的return也不是毫无意义的 。
例如:
void f2(int i)
{
if(i0)
{
return ;//这样也可以,不要这一句也可以
}
else{
i = i+5;
}
}
c语言中,如果要函数不返回值,则应把函数的类型定义为C语言中,如果要函数不返回值,则应该吧函数的类型定义为“void” 。

推荐阅读