C语言函数没有返回值 c语言函数没有返回值怎么办

C语言中函数必须有返回值吗?没有无法使用对吗?

不是必须有返回值。如果没有返回值类型名为"void"。

创新互联-专业网站定制、快速模板网站建设、高性价比和布克赛尔蒙古网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式和布克赛尔蒙古网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖和布克赛尔蒙古地区。费用合理售后完善,10多年实体公司更值得信赖。

void函数的定义:

void+函数名()//无类型+函数名

{// 程序代码

}

如果没有返回值类型名为"void", 整数类型int 类型返回值为整数类型int,以此类推……

类型名有:void int long float int* long* float* ……

扩展资料:

需要说明的是:

1、一个C语言源程序可以由一个或多个源文件组成。

2、每个源文件可由一个或多个函数组成。

3、一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。

4、源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面。

5、每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。(结构体、联合体、枚举型的声明的“}”后要加“ ;”。)

6、标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。

参考资料:

百度百科-函数

简单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语言中,如果要函数不返回值,则应该吧函数的类型定义为“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


当前题目:C语言函数没有返回值 c语言函数没有返回值怎么办
网站网址:http://cdiso.cn/article/doppish.html

其他资讯