个人技术分享

最普通的用C语言编译的hello,world!程序代码的大小缩小的过程

大家好,我叫这是我58,现在,请看下面的用C语言编译的程序代码!

#include <stdio.h>
int main() 
{
    printf("hello,world!");
    return 0;
}

你知道吗?这是一个最普通的用C语言编译的hello,world!程序代码,而它足足有81个字节!比最小的用C语言编译的hello,world!程序代码相差了二十几个字符节呢!但是,我还可以再减少一些字节,以变成这下面的用C语言编译的代码。

#include <stdio.h>
void main() {printf("hello,world!");}

现在,它有57个字节呢!不过,我还可以再减少一个字节,就是把void main() {printf("hello,world!");}中的void改成int而已,成品如下面的用C语言编译的代码。

#include <stdio.h>
int main() {printf("hello,world!");}

一个问题,一个答案

在看完下面的只有56个字节的最小的用C语言编译的hello,world!程序代码之后,有人就提出问题了,顺势,我也提出了答案。

Q:这是我58,为什么在这里,返回整型的函数中不用return 0;呢?

A:因为在C中,主函数的返回类型是可以是int,也可以是void,在主函数的返回类型是可以是int的情况中,需要在主函数的最后写上return 0;来表示程序正常结束。这是因为在C中,0通常被视为程序正常结束的标志。1

然而,在主函数的最后不写上return 0;也是可以的。因为根据C标准,如果主函数没有显式地返回一个值,编译器会默认在主函数的结尾插入"return 0;语句。所以,即使你不写return 0;,编译器也会自动补充这个语句。1

但是,为了代码的可读性和明确性,建议在主函数的最后写上return 0;,以明确表示程序的正常结束。1(最小的hello,world!的程序代码可以不管这一点,因为最小的hello,world!程序代码主打的就是最小)

用C语言编译的hello,world!程序代码的打印效果

最小的用C语言编译的hello,world!程序代码的打印效果

其余的用C语言编译的hello,world!程序代码的打印效果


从中得到的总结:最小的用C语言编译的hello,world!程序代码既小,又能像用C语言编译的hello,world!程序代码一样能打印出hello,world!。

我对这个程序的总结

总之,我觉得我的这个用C语言编译的hello,world程序代码已经够小了,而且还是我自己配合了C知道创造的,绝对没有配合其他的东西,并且,如果有人说我的代码是抄来的,那我也就无所谓了,但是,我不知道这个程序代码是不是全世界里边最小的,如果你知道的话,可以评论或者投票哟。


  1. 用了C知道 ↩︎ ↩︎ ↩︎