扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
void是是C语言的一个关键字,其含义为空。在C语言中,单独的void有两种用途,均用于函数中。 1 用于函数返回值。形式为 void func_name(...); 代表函数没有返回值。在这样的函数中,调用return语句时,不需要也不可以有参数。注意,写成 func_nmae(...); 的形式,在部分编译器中可以编译成功,但并不是没有返回值,而是有一个默认的整型(int)返回值的意思。 2 用于函数参数列表。当函数没有参数时,需要定义为 xxx func_name(void); 的形式,表示本函数不需要任何参数。注意,如果写成 xxx func_name(); 的形式,与void不同,不是没有参数,而是函数参数不定,可以接收任何长度的参数。
为正安等地区用户提供了全套网页设计制作服务,及正安网站建设行业解决方案。主营业务为网站设计制作、成都网站建设、正安网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
【void的含义】
void的字面意思是“无类型”,void
*则为“无类型指针”,void
*可以指向任何类型的数据。
void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量,
void真正发挥的【作用】在于:
(1)
对函数返回的限定;
(2)
对函数参数的限定。
我们知道,在定义函数时,加在函数名前的“void”表示该函数没有返回值。但在调用时,在函数名前加“(void)”的作用又是什么呢?
最明显的一点就是表示程序并不关心调用该函数后的返回值是什么,比如函数strcpy,我们直接用“strcpy(des_str,
src_str);”这样的形式来调用。“(void)strcpy(des_str,
src_str);”这样的形式还真不多见!
原因是这种写法不针对人,也不针对编译器,而是针对静态代码检测工具,它会把函数返回值作为一项检测标准。在某些大公司,比较重视代码规范,若在代码静态检测时需要检测该项。此时就需要用在被调用的函数(名)前加上“(void)”这种形式来告诉静态代码检测工具程序并非没有处理该函数的返回值,而是该处确实不需要处理它(该函数的返回值),不需要再对该处代码作此项检测。其实这和我们在代码中使用“#pragma
warning
(disable:
XXXX)”的道理是一样的。
l例如:
统计整数里面各位
1
2
3
的个数
//***************************************************
#
include
stdio.h
int
c1,
c2,
c3;
void
fun(long
n)
{
c1
=
c2
=
c3
=
0;
while
(n
!=
0)
{
switch
(n
%
10)
{
case
1:
c1++;
break;
case
2:
c2++;
break;
case
3:
c3++;
}
n
/=
10;
}
}
int
main()
{
long
n;
scanf("%ld",
n);
//输入整数n
fun(n);
//调用自定义函数fun
printf("C1=%d
C2=%d
C3=%d\n",
c1,
c2,
c3);
//输出
}
1、C语言调用完void函数后如何将值返回主函数实现输出的呢?
答:因为 void函数没有返回值,要想把让函数的值带回主函数,还有两种办法,第一是使用指针做参数,第二是潆数组做参数。
2、用指针传递就可以了吗,那如果不用指针呢?
答:用指针当然可以啦。如果不用指针,那就选择用数组参数了。
你在main函数中的这一行语句void equation(double a,double b,double c);是函数的声明不是调用改为equation(a,b,c);就行了
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流