查看原文
其他

看了这几个C语言例子,你一定和我一样连说5个卧槽,声音一次比一次大

土豆居士 一口Linux 2021-11-05

曾经我一直以为自己C语言学的还挺好的,直到看到这几个例子。

例1

首先来看一下,大师是如何求圆周率的,一口君实在词穷,first卧槽

#include <stdio.h>
    long a=10000,b=0,c=10000,d,e,f[10001],g;
    void main()
    
{
    for(;b != c; f[b++] = a/5);
    for(; d=0,g=c*2,c>5000; c--,printf("%.4d",e+d/a),e=d%a)
    for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b); 
    } 

执行结果:

例2

模拟图灵机打印基为2的斐波纳契数,double卧槽

#include <stdio.h>
#define f int
#define v (void)printf(
#define x ),exit(1);
#define y ){if(n)c=z(n,u),u=n,n=c;o[i]=n?'0'+(1&*n):'0';}
#define z(a,b) (f*)(~1&*a^(f)b)
#define k(l) if(!(l=(f*)malloc(sizeof(l))))v 23+m x if(1&(f)l)v 39+m x*l=
r(p,q,d)f*p,*q;{char o[81];f*n=p,i=39,*c,*u=d?q:z(p,q);o[40]='0'+(1&*p);
for(;i>=0;i--y u=d?z(p,q):q;n=p;for(i=41;i<79;i++y o[i++]='\r';o[i++]=0;
v o);(void)fflush(stdout);sleep(1);}
main(a,c)char**c;{char*u,*malloc(),*m=
"Usage: black [string]\n\0No more memory\n\0Unusable memory alignment\n\0jt,s@m@ (beleY%XX&Yz {z&z}i|R(|)*((.)i)hiniFiGJ%FG.JJgJ: ;;&;z {z&z}-RS/ROiOV OP+PsaPh+ijainnjmamfmfAlnnnnphppopv%vvgv.aABiB1/BVP11/1.%..&.OhrR-WV V1#1VP1CcC0R\
\n\n'CVP0\n!\n\n'\nEaEEnEamat!akckk'kwaww'wz,zzozEit +"
,
*n=m;f*q,*p=0,*g,b=3,d;
if(a>2)v m x n=a>1?c[1]:n;
/*v"\t\t\t\t\tV\n");*/
k(q)0;u=n;a=~1&'j';
while(a!='x'){
 /*r(q,p,b);*/
 for(;;u+=3){
  u= *u?u:n;
  if((~1&*u)==a&&(1&*q)<<1==(2&u[2]))break;
 }
 a=~1&u[1];
 d=(8&u[2])>>3;
 if(16&u[2])putchar(u[3]);
 if(4&u[2])*q|=1;else*q&=~1;
 if(b==d)g=p;else{
  g=z(q,p);
  if(!g){k(g)(f)q;*q^=(f)g;}
 }
 p=q;q=g;b=1-d;
}
/*r(q,p,b);v"\n");*/exit(0);
}

执行结果:

例3

#include <stdio.h>
main(int t,int _,char* a)
{
    return !0<t?t<3?main(-79,-13,a+main(-87,1-_, 
main(-86,0,a+1)+a)):1,t<_?main(t+1,_,a):3,main(-94,-27+t,a)&&t==2?_<13
main(2,_+1,"%s %d %d\n"):9:16:t<0?t<-72?main(_,t, 
"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l+,/n{n+,/+#n+,/#;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l q#'+d'K#!/+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# ){nl]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#n'wk nw' iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c ;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;#'rdq#w! nr'/ ') }+}{rl#'{n' ')# }'+}##(!!/"
:t<-50?_==*a?putchar(a[31]):main(-65,_,a+1):main((*a=='/')+t,_,a+1
:0<t?main(2,2,"%s"):*a=='/'||main(0,main(-61,*a, 
"!ek;dc i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry"),a+1);
}

是的,你没有看错,这个代码没有问题,可以编译,执行结果:

居然是这个执行结果,treble卧槽,聊表敬意。

【作者是Ian Phillipps】

例4

这个极富行为艺术的小火车,已经让一口君已经开始彻底怀疑人生了!quadra卧槽

结果如下:

peng@ubuntu:~/test$ ./marshall 
      choo choo

例5

如果你仍然觉得just so so,那好吧,你再看下面这个代码,简直就是艺术与代码的天作之合。

我相信这个代码的作者一定是个满脸络腮胡子油腻的抠脚撸串肥宅男,否则怎么会画出这么惊世骇俗、震惊寰宇、美的不可方物、如此卡哇伊的小萝莉!penta卧槽!!!!!

看下他的执行结果吧:


这些代码是IOCCC 【(The International Obfuscated C Code Contest)国际C语言混乱代码大赛是一项国际编程赛事】的一些获奖作品,有兴趣可以去搜索下。

毫无疑问,这些大师都是世界上最顶级的C语言程序员,都是god like、legendary。在这里我们就不讨论这些代码了,一口君并不是鼓励你也去写这样的代码(关于这些代码的分析,你可以上网查询)。恰恰相反,我要告诉大家的是:大师把代码写成这样是经典,你把代码写成这样是垃圾!所以在垃圾和经典之间,你需要做一个抉择。

C语言博大精深,各位码农,且学且珍惜!


END



一口君个人微信


添加一口君个人微信即送Linux、嵌入式等独家入门视频


→ 精选技术资料共享

→ 高手如云交流社群





本公众号全部原创干货已整理成一个目录,请在公众号里回复「m」获取!或者关注进入后台点击左下角「干货」!

推荐阅读



【1】基于ARM UART裸机驱动详解
【2】Linux 自旋锁spinlock,教你如何把ubuntu弄死锁
【3】手把手教Linux驱动3-之字符设备架构详解,有这篇就够了
【4】手把手教Linux驱动4-进程、文件描述符、file、inode关系详解
【5】玩转内核链表list_head,如何管理不同类型节点的实现(万字文)可以收藏
【6】
I2C干货-基于Cortex-A9(重新整理)【7】一文搞懂ADC裸机和基于Linux驱动编写方法
【8】22张图详解浏览器请求数据包如何到达web服务器(搞懂网络可以毕业了)
【9】手把手教Linux驱动5-自旋锁、信号量、互斥体概述
【10】Linux命令cURL详解+定时上传文件到FTP服务器(送源码)


5T技术资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,单片机,树莓派,等等。在公众号内回复「1024」,即可免费获取!!




一键四连


: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存