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

c语言 子函数里的值没有返回给主函数。

这是C中一个很典型的问题,传值和传地址值的区别:

网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信平台小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了安国免费建站欢迎大家使用!

传值方式:

void jtf(float x0,float h,float a,float b),这样传的a和b就是传值,传参的时候会构造一个a和b的副本对象,在函数jtf中对a和b所做的任何操作都是对副本对象的操作,和原来的a b毫无关系,原来的a b的值不会改变。

传地址值方式:

float a, b;

void jtf(float x0,float h,float a,float b) - jtf(a, b); //引用

void jtf(float x0,float h,float* a,float* b) -jtf(a, b);//指针

使用引用和指针即是传地址值方式, 传递的是原来的a b的地址,在函数jff中所做的所有操作都是针对a b本身的.所做的改变也会保留.

很显然, 你的程序应该是用第二种方式的.

C语言字符串函数无法返回值是怎么回事

首先函数:char

strcat

(char

x[],char

y[])返回值是char型

你在函数中却返回char型指针。

其次for语句:for

(i

=

m;i

=

m

+

n;i

++)

m+n要大于x,y字符串的长度,可能会越界。

简单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语言中那个函数无返回值到底是怎么一回事?

那个不是返回值,而是调用控制台打应出结果,你对返回的概念还有些误解,一般的返回值都是返回给另一个变量接收的,比如

int prinstar()

{

return 1;

}

int i = prinstrar();

i 就是接收了返回值

C语言函数不能返回局部变量或者形参的地址?为什么

我给你从编译器角度考虑下吧!1、首先局部变量的使用范围只有在这个局部范围类有效。2、函数是模块化的思想。比如你有一个判断一个数是否是素数的函数。那么你再求100以内所有素数和的时候,main中会调用这个函数100次。这些函数编译器在处理的时候都是放在一个堆栈的。而且每个函数都占有不同的地址和空间。(递归函数尤为明显)。最关键的是,当函数返回函数值后,函数的使命就结束了。所以这个函数体在呢内存中就销毁了。你即使能从函数中返回一个局部变量。你再去读这个地址的时候。东西都不在了。3、还有一点。编译器在分配函数的空间的时候,地址不是固定的。所以你每次运行程序,你会发现

int

a=3

printf(f"%d",a),不都是一样的。所以你的问题很明了了。

C语言函数返回值异常

你说的是函数的返回者吧函数的值是指函数被调用之后,执行函数体中的程序段所取得的并返回给主调函数的值。如调用正弦函数取得正弦值。对函数的值(或称函数返回值)有以下一些说明: 1) 函数的值只能通过return语句返回主调函数。 return 语句的一般形式为: return 表达式;或者为: return (表达式);该语句的功能是计算表达式的值,并返回给主调函数。在函数中允许有多个return语句,但每次调用只能有一个return 语句被执行,因此只能返回一个函数值。 2) 函数值的类型和函数定义中函数的类型应保持一致。如果两者不一致,则以函数类型为准,自动进行类型转换。 3) 如函数值为整型,在函数定义时可以省去类型说明。 4) 不返回函数值的函数,可以明确定义为“空类型”,类型说明符为“void”。如例8.2中函数s并不向主函数返函数值,因此可定义为: void s(int n) { …… } 一旦函数被定义为空类型后,就不能在主调函数中使用被调函数的函数值了。例如,在定义s为空类型后,在主函数中写下述语句 sum=s(n); 就是错误的。为了使程序有良好的可读性并减少出错, 凡不要求返回值的函数都应定义为空类型。


新闻名称:C语言函数值不能返回,c语言函数没有返回值是什么意思
网站URL:http://scyanting.com/article/dssdjsp.html