首页 » 快讯

void函数已有主体怎么解决? C语言函数声明是要在主函数内部还是外部啊?

2022-10-13 11:20:19 消费新闻网
A+ A-

首先,我们先来写一段简单的代码。代码要求也很简单:创建一个整形变量,并且给其赋值,最后显示这个变量的值。

#include int main (void){ int demo; demo = 21; printf("Is "); printf("Lucyn"); printf("I am %d years old n",demo); return 0; }看了这段代码之后,如果认为屏幕上能够打印东西,说明我们的理解是对的。所以运行一下程序,来看一看结果。

运行结果

运行之后可以看到程序输出了两行结果:

Is Lucy

I am 21 years old

虽然程序没有问题,但是不理解的朋友可能会有以下几点问题:

1:n 和 %d 是什么意思

2:printf 打印了三个,为什么 Is 和 Lucy 合并到一起了

3:main 括号当中的 void 是干嘛用的

先不要着急,我们先来了解一下每行代码的作用。

#include 告诉编译器,把 stdio.h 这个头文件包含到当前程序当中。头文件中包含了我们的代码所要支持的文件。

int main (void)函数名main()是一个函数名,int表示main()函数返回一个整数,void表示main不带任何参数。

int demo;声明一个变量demo,该变量是一个整形变量。

demo = 21;给demo赋值,把值21赋值给demo,这样demo就等于是21。

printf("Is "); printf("Lucyn");调用 printf() 函数

第一个printf()函数在我们的计算机屏幕上显示 Is ,(is后面我打了一个空格)光标停留在同一行。

第二个printf()函数显示的Lucy 紧跟在is后面,n是告诉我们的计算机要另起一行,光标就移动到下一行。

printf("I am %d years old n",demo);同样也是调用 printf() 函数。不同的是,它把 demo 的值 21 一起打印出来,%d就是告诉计算机是以那种形式输出demo的值的。

return 0;return 是给调用方返回一个值,这里可以看作是结束main函数所必须的要求

}右花括号,表示函数体的结束

理解了每行代码之后,回想一下刚刚的几个问题:

1:n 和 %d 是什么意思

2:printf 打印了三个,为什么 Is 和 Lucy 合并到一起了

3:main 括号当中的 void 是干嘛用的

第一个问题:

显然n是告诉我们的计算机要另外起一行;

%d呢是告诉我们的计算机输出的值是以整形的方式输出,%d呢只是众多的形式中的一种,还有很多像是%f、%a、%p.…等等众多形式。这里呢先不说那么多,以后用到再给大家科普,当然网上的资源也很多,大家可以去网上提前科普一下。

第二个问题:

其实第二个问题在第一个问题的时候就已经给大家解答了。

执行第一个printf的时候,因为 Is 的后面没有加n ,那么光标默认在第一行;

到执行到第二个printf的时候 Lucy 就直接跟在 Is 后面了;

到执行到第三个 printf的时候时,因为 Lucy 后面加了一个n,所以光标到第二行,所以第三个 printf 的内容是在第二行打印出来的。

第三个问题 *:

这里打个星号,是因为这个问题对刚刚开始学的朋友来说会有一些难理解。如果你能够理解,就忽略这个*号。

void 其实就是表示 main() 函数的参数是空的,就是没有的,如果你给 main() 函数传递参数的话,那么编译就会出错。

我们都知道 return 是一个返回函数,这里给我们的 return 返回的值是0,就是返回的是空的,所以这就是为什么在程序的最后面要加一个 return 0 ;的原因了。

当然,如果没有 void 的话,不管你传什么参数进去,都不会报错的。只不过就是不会处理这个参数而已。

函数声明定义 放在 主函数以外,与主函数地位 并列,不能放在主函数以内。

函数定义 放在 主函数 以后,那么在 主函数以前,或 在主函数声明部分(语句以前)要添加函数原型声明。

函数声明定义,若放在主函数以前, 主函数中 则 不需要 函数原型声明。

程序结构:

int main()

{

int process(int u,int t,int (*p)(int u,int t)); // 函数原型声明

int a,b,c[3],i;

int max(int x,int y); // 函数原型声明

int min(int j,int k); // 函数原型声明

int sum(int q,int w); // 函数原型声明

scanf("%d%d",&a,&b); // 这是语句,要放到声明以后,所以搬动到这里

。。。 // 其他语句

}

int max(int x,int y) // 函数声明定义,在主函数以后

{if(y>x)x=y;

return x;

}

责任编辑:bH_04285

关键词: void函数已有主体怎么解决 函数可以定义在主函数里面吗 C语言函数声明是要在主函数内部还是外部啊 函数声明应该写在什么位置 main函数里面还是前面

点击查看全文(剩余0%)

相关新闻