c语言不返回函数值 c语言函数没有返回值是什么意思

C语言中那个函数无返回值到底是怎么一回事?返回值是函数的计算结果,比如用函数计算1 1返回值就是2;
另外返回值并不一定的我们想要的结果,比如1 1如果返回3了,那就是函数代码有错误 。
c语言没有返回值什么意思,通俗说.很正常啊,没有返回值,就是不需要返回值 。
比如:定义一个函数,在函数中打印信息到屏幕上 。
void displayMessage(char *msg) {
#ifdef NEED_DEBUG
printf("%s\n", msg);
#endif
}
很显然,调用这个函数,我不需要知道信息是不是已经打印到屏幕上了 。(只有调试程序,才需要显示信息)
有很多类似的场景,比如:某个程序 , 根据给定的参数,在屏幕上绘制完成一个图像,而调用者不关心图像是不是绘得正确,因为正确与否不影响程序的继续执行 。
C语言中自定义的函数没有返回值会怎样?这是错误,既然函数定义要返回值,就返回一个值,不返回结果是未知的 c语言可以允许这样的代码,c视为错误
这是vc2017结果:
deubg模式结果是4,release结果是0, 所以这个代码没有意义
debug模式 结果是4
release模式 结果是0
c语言里面的无返回值到底是怎么回事,谢谢了,大神帮忙啊无返回值就是函数只执行数据处理,不返回值 。函数定义时一般用void关键字表示无返回值 。
如调用string类库中的int
i
=
strcmp("abc",
"abc")函数判断两个参数是不是相等,两个都"abc"
则i
=
0,这是有返回值的
简单c语言函数调用无返回值问题?递归函数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;
}
【c语言不返回函数值 c语言函数没有返回值是什么意思】c语言不返回函数值的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言函数没有返回值是什么意思、c语言不返回函数值的信息别忘了在本站进行查找喔 。

    推荐阅读