重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

c语言中函数结果讨论 c语言论述题

c语言中函数返回值的问题

注意两个【规则】:

专注于为中小企业提供做网站、网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业莫力达免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

一、不要省略返回值的类型。如果函数没有返回值,应生明为void类型。

二、函数名字与返回值类型在语义上不可冲突。

eg:char c;

c=getchar();

if(c==EOF)

..................

此处getchar()是一个函数,它的返回值类型却不是char,而是int类型。起函数原型是:

int getchar(void);由于c是char类型,取值范围是【-128,,127】,万一宏EOF的值在char的 取值范围之外,那么if语句将总是失败。

【建议】

不要将正常值和错误标志混在一起返回。建议正常值用输出参数获得,而错误标志用return语句返回。

两个【提示】:

一、有时候函数原本不需要返回值,但为了增加灵活性如支持链式表达,可以附加返回值。

例如字符串拷贝函数strcpy的原型:char *strcpy(char *strDest,const *strSrc);

strcpy 函数将strSrc拷贝至输出参数strDest中,同时函数的返回值又是strDest。这样做并非多此一举。这样做并非多此一举,可以获得如下灵活性:

char str[20];

int length = strlen(strcpy(str,"hello world"));

但是注意不要将返回指针的函数作为左值,例如:

double* func(double* p)

{

return p;

}

double d = 100;

*func(d)=200;

二、如果函数的返回值是一个对象,有些场合用“返回引用”替换“返回对象值”,这样可以提高效率,而且还可以支持链式表达。而有些场合只能用“返回对象值”而不能用“返回引用”,否则会出错。

楼主顺便给你推荐两本书:高质量c/c++编程和c语言深度剖析。

C语言中什么是函数的返回值?

首先比喻下函数是什么吧?

函数简单的说就是一个黑箱子似的制造机器,你给他原料(输入参数)它给你制造出产品(函数返回的结果)。

所以函数的返回值一般就是你想要的结果。当然有些函数没有返回值,比如输出一句话的函数,这函数就没有返回值。C++用VOID型表示。但是求两个数的最大值函数INT MAX(INT A, INT B)的返回值就可以是你求的最大的值。

int max(int a, intb)

{

if(ab)

{

return a;

}

else

{

return b;

}

}

其中return返回的值就是函数的返回值。

C语言中的如何在主函数输出定义函数的结果(多个结果)

#include stdio.h

int Allfactors(int n)

{

int i;

for(i=1;i=n;i++)

{

if(n%i==0)

printf("%d\t",i);

}

printf("\n");

return i;

}//这里定义了一个求某整数所有约数的函数 应该没错 单独运行可以输出//

void main()

{

int a;

printf("Please input an int:\n");

scanf("%d",a);

printf("Your int is:\n");

int n;

n=Allfactors(a);//从这里开始不会了 我想调用这个输出约数的函数 应该怎么写啊 这么写不对 //

printf("the factors of your number are:%d\n",n);

}

试试这个?

c语言中函数的进一步讨论!

fun(int n,int *s)

{ int f1,f2;

if(n==1||n==2) *s=1;

else

(1)[ { fun(n-1,f1);

fun(n-2,f2);

*s=f1+f2;

} ] (1)[...]这部分看不明白,请帮忙解释一下. fun是函数的入口 这里面其实相当于循环

}

当(n==1||n==2)不成立的时候

执行函数调用 并传值 简单的理解就是 一行一行代码 读

(程序只能这样)函数调用也好什么也好都是起到跳转语句的作用


当前文章:c语言中函数结果讨论 c语言论述题
新闻来源:http://cqcxhl.com/article/hhjsdh.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP