c语言函数可以不调用 c语言的函数可以直接使用,无需事先定义或声明

c语言中的函数必须在主程序中调用才能执行吗

不一定

创新互联长期为上千余家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为贵定企业提供专业的成都网站设计、做网站,贵定网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。

但是C语言的源程序在执行时,固定都是从全局main函数开始,并从全局main函数结束。因此,自定义的函数如果要被执行,必须有一条能够从main函数到这个自定义函数的调用路径。

比如说,你自定义了函数A和函数B,其中函数B在函数A中有调用,但不在全局main函数中调用,那只需要在全局main函数中调用函数A,函数B就会在执行到函数A调用函数B的部分时执行

示例

#includestdio.h

void B(){

printf("我是函数B\n");

}

void A(){

B();

printf("我是函数A\n");

}

main(){

printf("main函数执行开始\n");

A();

printf("main函数执行完毕\n");

}

运行结果:

main函数执行开始

我是函数B

我是函数A

main函数执行完毕

(按任意键)

c语言函数没有被调用会给里面的变量分配内存空间吗?

子函数的变量是在子函数中被定义的。

如果变量不是静态变量,

那么定义的变量会在函数调用的时候,

将其内存空间分配在栈(stack)中。

不调用的时候不会分配空间。

如果变量是静态变量,在编译的时候就会分配内存空间

c语言函数字符串长度不调用函数

不大明白你的

“for(i=0;i100;i++)

scanf("%d",b[i]); ”这句话是做什么用的?能解释一下吗?

可以改成这样:

#includestdio.h

void main()

{

void zifushu(char a[]);

char b[100],n;

int i;

printf("请输入一字符串:\n");

gets(b);

zifushu(b);

}

void zifushu(char a[])

{

int j;

j=0;

while (a[j]!='\0'){

j++;}

printf("字符数为:%d\n",j);

}

还有一种更简单的方法给你参考:

#includestdio.h

void main()

{

char n;

int i=0;

printf("请输入一字符串:\n");

while((n=getchar())!='\n') i++;

printf("字符数为:%d\n",i);

}


分享名称:c语言函数可以不调用 c语言的函数可以直接使用,无需事先定义或声明
文章URL:http://pwwzsj.com/article/dogjigg.html