c语言调用void子函数,c语言void子函数怎么用
C语言void子函数,求得的值在主函数里怎么输出?
把变量定义在主函数之外,即把变量设置为全局的。
河南网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联从2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
一般我们都把变量的定义放在函数中,因此变量的范围就是在本函数中。可是如果定义在所有函数的外面,这样所有的函数中,都可以使用本变量。
你可以试一下这个程序。定义一个全局变量a,在主函数中进行赋值,然后在子函数中进行输出,结果是5.
#include
int a;
void func();//函数声明
int main()
{
a=5;
func();
}
void func()
{
printf("%d\n", a);
}
+++++++++++++++++++++++++++++++++++++++++++++++++++
当然,除了定义全局变量这个方法,还有其他的方法,那就是指针。在子函数的参数中传递变量的地址,依然可以使用该变量,依然能够改变该变量的值。因为主函数和子函数的变量共用的是同一个地址的变量,因此,不管在哪个函数中对变量进行操作,都会影响变量。
比如下面这个程序,在主函数中a的值为5,将变量a的地址传递过去,子函数将该地址中的变量的值设置为3,然后主函数输出,结果却是3.
#include
void func(int *b);//函数声明
int main()
{
int a=5;
func(a);//把变量a的地址传递过去
printf("%d\n", a);
}
void func(int *b)
{
*b=3; //将地址b中变量的值设置为3
}
C语言中,如果定义一个子函数是void类型;那么当主函数调用这个子函数的时候为什么不加void?
因为语法就是这样啊,函数调用直接使用其函数名即可,函数是void类型只是标识该函数没有返回值而已。
c语言 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); //输出
}
c语言调用void函数
你在main函数中的这一行语句void equation(double a,double b,double c);是函数的声明不是调用改为equation(a,b,c);就行了
网站栏目:c语言调用void子函数,c语言void子函数怎么用
标题网址:http://myzitong.com/article/hsiijc.html