
正文
c语言调用函数没有返回 c语言中调用函数返回的数值
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
简单c语言函数调用无返回值问题?
递归函数myPower的定义有逻辑错误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;
}
相关问答
Q1: c语言中,如果要函数不返回值,则应把函数的类型定义为
C语言中,如果要函数不返回值,则应该吧函数的类型定义为“void”。
在将函数定义为void类型的情况下在主调函数中调用该函数,该函数调用表达式不能被用作子表达式给其他变量赋值。
void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。
扩展资料:
void类型指针要注意规则:
1、void 指针是一种特殊的指针,表示为“无类型指针”,在 ANSI C 中使用它来代替“char*”作为通用指针的类型。由于 void 指针没有特定的类型,因此它可以指向任何类型的数据。
2、void*类型只有地址信息没有类型信息,所以不能计算偏移。
3、要将void指针赋值给其他类型的指针,必须进行强制类型转换。
4、在编程中,如果函数的参数可以是任意类型指针,那么应该使用 void 指针作为函数的形参,这样函数就可以接受任意数据类型的指针作为参数。
void使用注意:
1、如果函数没有返回值,那么应声明为void类型,在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理。但是许多程序员却误以为其为void类型。
2、如果函数无参数,那么应声明其参数为void。
3、void不能代表一个真实的变量
参考资料来源:百度百科-void
Q2: C语言中自定义的函数没有返回值会怎样?
这是错误c语言调用函数没有返回,既然函数定义要返回值c语言调用函数没有返回,就返回一个值c语言调用函数没有返回,不返回结果是未知的 c语言可以允许这样的代码,c++视为错误
这是vc2017结果:
deubg模式结果是4,release结果是0, 所以这个代码没有意义
debug模式 结果是4
release模式 结果是0
Q3: C语言中没有返回值的函数调用有什么意义呢?
没有返回值的函数通常用来做一些数据的修改或实现些内部功能。而有返回值的函数通常作用为数据存储。当然实际上没有那么明显的界限,只是你要知道没返回值的函数一样有意义
Q4: C语言中那个函数无返回值到底是怎么一回事?
返回值是函数的计算结果,比如用函数计算1+1返回值就是2;
另外返回值并不一定的我们想要的结果,比如1+1如果返回3了,那就是函数代码有错误。
关于c语言调用函数没有返回和c语言中调用函数返回的数值的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








