C语⾔⼲货(2):main函数当中的void你真的理解吗
刚开始接触C语⾔的时候,会遇到很多语法、运算符、函数等等问题,可能对于刚刚上⼿的朋友
来说不太能够理解。所以今天通过编写代码,来分析⼀下每⾏代码的作⽤,帮助⼤家理解。
⾸先,我们先来写⼀段简单的代码。代码要求也很简单:创建⼀个整形变量,并且给其赋值,
最后显⽰这个变量的值。
#include <stdio.h>int main (void){ int demo; demo = 21; printf('Is '); printf('Lucy\n'); 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>
告诉编译器,把 stdio.h 这个头⽂件包含到当前程序当中。头⽂件中包含了我们的代码所要⽀持
的⽂件。
int main (void)
函数名main()是⼀个函数名,int表⽰main()函数返回⼀个整数,void表⽰main不带任何参
数。
int demo;
声明⼀个变量demo,该变量是⼀个整形变量。
demo = 21;
给demo赋值,把值21赋值给demo,这样demo就等于是21。
printf('Is '); printf('Lucy\n');
调⽤ 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 的话,不管你传什么参数进去,都不会报错的。只不过就是不会处理这个参数⽽已。
那么本期的C语⾔⼲货就先分享到这⾥,欢迎⼤家⼀起来探讨。return在c语言中是什么意思
我是Lucy,喜欢分享实⽤的⼲货。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论