文章预览
曾经一直以为自己C语言掌握的还挺好的,直到看到下面这几个例子。 例1 首先来看一下,大师是如何求圆周率的, # include 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); } 执行结果: 彭老师实在词穷, first卧槽 例2 模拟图灵机打印的斐波纳契数列 # include # 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(
………………………………