main函数前为什么有void,main前面的void
刚接触C语言的时候,会遇到很多语法、运算符、函数等方面的问题。我的新朋友可能很难理解。所以今天通过写代码,我们来分析每一行代码的作用,帮助你理解。
,让我们写一个简单的代码。代码要求也很简单创建一个整数变量,给它赋值,显示这个变量的值。
# include stdio . hint main(void){ int demo;demo=21printf( Is );printf( Lucyn );printf(我%d岁n ,demo);返回0;}看完这段代码,如果我们认为某个东西可以打印在屏幕上,说明我们的理解是正确的。所以运行程序,看看结果。
运行结果
运行后,您可以看到程序输出两行结果
是露西
我今年21岁
虽然程序没有问题,不了解的朋友可能会有以下问题
1: n和%d是什么意思?
2: printf打印三张。Is和Lucy为什么会合并在一起?
3:3:主支架中的空隙是用来做什么的?
别急,我们先了解一下每行代码的作用。
#include stdio.h告诉编译器在当前程序中包含头文件stdio.h。头文件包含我们的代码支持的文件。
Int main (void)函数名main()是一个函数名。Int表示main()函数返回一个整数,void表示main不接受任何参数。
int demo声明一个变量demo,是一个整型变量。
demo=21给demo赋值,给demo赋值21,这样demo就等于21。
printf( Is );printf( Lucyn );调用printf()函数
printf()函数显示在我们的计算机屏幕上。(我在is后面打了个空格)光标停留在同一行。
第二个printf()函数在is之后立即显示Lucy,n告诉我们的计算机开始新的一行,光标移动到下一行。
printf(我%d岁n ,demo);也调用printf()函数。不同的是,它一起打印出demo 21的值,%d告诉计算机以何种形式输出demo的值。
返回0;Return就是给调用者返回一个值,可以看作是结束主函数的必要要求。
}右花括号表示函数体的结束。
理解每一行代码后,回想几个问题
1: n和%d是什么意思?
2: printf打印三张。Is和Lucy为什么会合并在一起?
3:3:主支架中的空隙是用来做什么的?
第一个问题
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,无论传入什么参数都不会报错。只是它处理不了这个参数。