求一些C的非常规用法,大家吧自己知道的都说出来一起学习学习

时间:2023-01-29 17:31:03
我先说一个

比如使用标准库内的函数可以不用包含头文件
例:
void main()
{
  printf("OK");
}

编译:通过
运行:OK

32 个解决方案

#1


这个很难说吧

#2


#include <stdio.h>

#3


比如使用标准库内的函数可以不用包含头文件

这个是因为在多数环境中,
因为一些头文件一般都是必须的, 比如 stdio.h,
那么环境就设置了默认包含,或者说是自动包含,
也就是你不写  include ,环境自动 include 了这个文件。

而不是说不需要这个 h 文件程序也可以跑....

#4


jixingzhong(瞌睡虫·星辰) ( ) 信誉:100    Blog   加为好友  2007-05-24 10:50:41  得分: 0  
 
 
   比如使用标准库内的函数可以不用包含头文件

这个是因为在多数环境中,
因为一些头文件一般都是必须的, 比如 stdio.h,
那么环境就设置了默认包含,或者说是自动包含,
也就是你不写  include ,环境自动 include 了这个文件。

而不是说不需要这个 h 文件程序也可以跑....
  
 
===

不用帮你说为什么,我要的是 其他的 非常规的用法

#5


char s[100];
int main()
{
s[1] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"[2%4];
printf("%c\n",s[1]);
return 0;
}


"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"是一个数组
s[1] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"[2%4];取第二个元素

#6


#include <stdio.h> 
#include <stdlib.h>

int main()
{
    char c='qwer';  //看起来 怪异
    printf("%c\n", c);
    system("pause");
    return 0;
}

#7


#define ADD +

int main()
{
  int a = 1, b = 2, c;

  c = a ADD b;

  return 0;
}

#8


偶听一高人说,他有一个可以访问私有成员的好办法

那就是在stdafx.h里


#define private public


瀑布汗啊

#9


去看IOCCC的东西,到处都是非常规的……
《C高级编程》、《Hacker's Delight》上也有许多有趣的东西。


举个例子:
int i, a[10];
for (i = 0; i < 10; ++i)
  i[a] = i+1;

这是因为,对任意的expr1[expr2],都会解析为*(expr1 + expr2),所以expr1[expr2]与expr2[expr1]是等价的。


举个实用的:
#define INLINE_FOO(var) \
do { \
   /* something what you want to do */ \
} while(0);

这种do {...} while(0);的宏定义可以充分避免宏内部的东西与外部的东西在语法上相互影响。



顺便说一下,C语言中对不声明的函数,就默认是返回值为int,参数不检查的类型。这就是为什么printf可以不声明而正常工作。但如果返回值不是int,如sin()函数,就不能正常工作。

#10


去看IOCCC的东西,到处都是非常规的……
====

IOCCC是什么 ?

#11


IOCCC = The International Obfuscated C Code Contest
国际混乱C编程大赛。

http://www.ioccc.org/

一个C语言编程高手的游戏项目,大家比赛谁能写出能够正常工作但是别人看不懂的代码。

注意:游戏而已,切记切记。

#12


学习了

#13


#include <stdio.h>

int main()
{
  printf(" %s\n", "aa" "bb");//能自动连接

return 0;
}



#14


#include <stdio.h>
int main()
{
    char *p = "abcdef";
    char *p2 = NULL;

    p2 = p+2;
    printf("%s\n", p);

    p2[-1] = '0';
    printf("%s\n", p);    /* 结果a0cdef,'\0'都给输出了,vc不行,tc行 */
    getch();
    return 0;
}

#15



/*                                     ,*/
            #include                              <time.h>
             #include/*                     _  ,o*/  <stdlib.h>
             #define  c(C)/*     -      . */return      ( C); /*    2004*/
              #include   <stdio.h>/*.   Moekan           "'   `\b-'     */
                typedef/*  */char   p;p* u                     ,w       [9
                  ][128] ,*v;typedef  int _;_   R,i,N,I,A               ,m,o,e
             [9],  a[256],k    [9], n[               256];FILE*f       ;_ x   (_ K,_ r
        ,_ q){;   for(;                                         r<     q    ; K       =((
     0xffffff)   &(K>>8))^                                        n[255     &        ( K
   ^u[0        +                                     r  ++      ]     )]);c          (K
  )}        _ E                           (p*r,    p*q  ){     c(          f         =
          fopen                     (r  ,q))}_   B(_ q){c(    fseek        (f,      0
        ,q))}_ D(){c(  fclose(f ))}_  C(  p    *q){c(  0-    puts(q    )   )}_/*   /
      */main(_ t,p**z){if(t<4)c(   C("<in"       "file>"    "\40<l"   "a"  "yout> "
     /*b9213272*/"<outfile>"   ) )u=0;i=I=(E(z[1],"rb")) ?B(2)?0 :   (((o   =ftell
    (f))>=8)?(u     =(p*)malloc(o))?B(0)?0:!fread(u,o,1,f):0:0)?0:  D():0      ;if(
   !u)c(C("      bad\40input  "));if(E(z[2],"rb" )){for(N=-1;256> i;n[i++] =-1   )a[
   i]=0;       for(i=I=0;   i<o&&(R  =fgetc(   f))>-1;i++)++a[R] ?(R==N)?( ++I>7)?(n[
  N]+1       )?0:(n [N   ]=i-7):0:   (N=R)    |(I=1):0;A =-1;N=o+1;for(i=33;i<127;i++
  )(        n[i   ]+  1&&N>a[i])?    N= a     [A=i]     :0;B(i=I=0);if(A+1)for(N=n[A];
 I<       8&&   (R  =fgetc(f ))>    -1&& i   <o        ;i++)(i<N||i>N+7)?(R==A)?((*w[I
 ]             =u [i])?1:(*w[I]=   46))?(a             [I++]=i):0:0:0;D();}if(I<1)c(C(
              "  bad\40la" "yout  "))for(i            =0;256>(R=  i);n[i++]=R)for(A=8;
             A  >0;A --)   R  = ( (R&1)==0)          ?(unsigned int)R>>(01):((unsigned
            /*kero  Q'        ,KSS  */)R>>         1)^        0xedb88320;m=a[I-1];a[I
            ]=(m           <N)?(m=   N+8):        ++        m;for(i=00;i<I;e[i++]=0){
           v=w         [i]+1;for(R                      =33;127  >R;R++)if(R-47&&R-92
           &&       R-(_)* w[i])*(                   v++)=    (p)R;*v=0;}for(sprintf
                  /*'_  G*/  (*w+1,              "%0"     "8x",x(R=time(i=0),m,o)^~
                0)   ;i<       8;++           i)u      [N+ i]=*(*w+i+1);for(*k=x(~
                  0,i=0     ,*a);i>-        1;      ){for (A=i;A<I;A++){u[+a [ A]
                ]=w[A       ][e[A]]  ;     k     [A+1]=x (k[A],a[A],a[A+1]
              );}if     (R==k[I])      c(      (E(z[3  ],"wb+"))?fwrite(
             /* */   u,o,1,f)?D          ()|C("  \n    OK."):0    :C(
            "  \n  WriteError"            ))  for  (i  =+I-
           1  ;i >-1?!w[i][++                 e[+ i]]:0;
             ) for( A=+i--;                 A<I;e[A++]
             =0); (i <I-4                 )?putchar
             ((_   )  46)                  | fflush
            /*'      ,*/                  ( stdout
            ):       0&                    0;}c(C
           ("       \n                   fail")
           )      /*                    dP' /
                 dP                    pd  '
                '                      zc
                                      */
                                     }

#16


main(int t,char* _[],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(31[a]):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);
}

#17


ioccc 太汗了,感觉好多是在拼图

#18


非常规的方法?我看楼主是想要非常规的写法而已?

#19


goto

#20


define G(n) int n(int t, int q, int d)
#define X(p,t,s) (p>=t&&p<(t+s)&&(p-(t)&1023)<(s&1023))
#define U(m) *((signed char *)(m))
#define F if(!--q){
#define I(s) (int)main-(int)s
#define P(s,c,k) for(h=0; h>>14==0; h+=129)Y(16*c+h/1024+Y(V+36))&128>>(h&7)?U(s+(h&15367))=k:k

G (B)
{
  Z;
  F D = E (Y (V), C = E (Y (V), Y (t + 4) + 3, 4, 0), 2, 0);
  Y (t + 12) = Y (t + 20) = i;
  Y (t + 24) = 1;
  Y (t + 28) = t;
  Y (t + 16) = 442890;
  Y (t + 28) = d = E (Y (V), s = D * 8 + 1664, 1, 0);
  for (p = 0; j < s; j++, p++)
    U (d + j) = i == D | j < p ? p--, 0 : (n = U (C + 512 + i++)) < ' ' ? p |=
      n * 56 - 497, 0 : n;
}

n = Y (Y (t + 4)) & 1;
F
U (Y (t + 28) + 1536) |=
62 & -n;
M
U (d + D) =
X (D, Y (t + 12) + 26628, 412162) ? X (D, Y (t + 12) + 27653,
       410112) ? 31 : 0 : U (d + D);
for (; j < 12800; j += 8)
  P (d + 27653 + Y (t + 12) + ' ' * (j & ~511) + j % 512,
     U (Y (t + 28) + j / 8 + 64 * Y (t + 20)), 0);
}

F if (n)
  {
    D = Y (t + 28);
    if (d - 10)
      U (++Y (t + 24) + D + 1535) = d;
    else
      {
for (i = D; i < D + 1600; i++)
  U (i) = U (i + 64);
Y (t + 24) = 1;
E (Y (V), i - 127, 3, 0);
      }
  }
else
  Y (t + 20) += ((d >> 4) ^ (d >> 5)) - 3;
}
}

G (_);
G (o);
G (main)
{
  Z, k = K;
  if (!t)
    {
      Y (V) = V + 208 - (I (_));
      L (209, 223) L (168, 0) L (212, 244) _((int) &s, 3, 0);
      for (; 1;)
R n = Y (V - 12);
      if (C & ' ')
{
  k++;
  k %= 3;
  if (k < 2)
    {
      Y (j) -= p;
      Y (j) += p += U (&D) * (1 - k * 1025);
      if (k)
goto y;
    }
  else
    {
      for (C = V - 20;
   !i && D & 1 && n
   && (X (p, Y (n + 12), Y (n + 16)) ? j = n + 12, Y (C + 8) =
       Y (n + 8), Y (n + 8) = Y (V - 12), Y (V - 12) =
       n, 0 : n); C = n, n = Y (n + 8));
      i = D & 1;
      j &= -i;
    }
}
      else if (128 & ~D)
{
  E (Y (n), n, 3, U (V + D % 64 + 131) ^ 32);
  n = Y (V - 12);
y:C = 1 << 24;
  M U (C + D) = 125;
  o (n, 0, C);
  P (C + p - 8196, 88, 0);
  M U (Y (0x11028) + D) = U (C + D);
}
    }
}

for (D = 720; D > -3888; D--)
  putchar (D >
   0 ?
   "  )!\320\234\360\256\370\256 0\230F           .,mnbvcxz    ;lkjhgfdsa \n][poiuytrewq  =-0987654321   \357\262   \337\337 \357\272   \337\337         ( )\"\343\312F\320!/ !\230 26!/\16 K>!/\16\332 \4\16\251\0160\355&\2271\20\2300\355`x{0\355\347\2560 \237qpa%\231o!\230 \337\337\337     ,               )\"K\240   \343\316qrpxzy\0 sRDh\16\313\212u\343\314qrzy    !0( "
   [D] ^ 32 : Y (I (D)));
return 0;
}

G (o)
{
  Z;
  if (t)
    {
      C = Y (t + 12);
      j = Y (t + 16);
      o (Y (t + 8), 0, d);
      M U (d + D) =
X (D, C, j) ? X (D, C + 1025, j - 2050) ? X (D, C + 2050,
     j - 3075) ? X (D,
    C + 2050,
    j -
    4100) ?
X (D, C + 4100,
   ((j & 1023) + 18424)) ? 176 : 24 : 20 : 28 : 0 : U (d + D);
      for (n = Y (t + 4); U (i + n); i++)
P (d + Y (t + 12) + 5126 + i * 8, U (n + i), 31);
      E (Y (t), t, 2, d);
    }
}

G (_)
{
  Z = Y (V + 24);
  F Y (V - 16) += t;
  D = Y (V - 16) - t;
}

F for (i = 124; i < 135; i++)
  D = D << 3 | Y (t + i) & 7;
}

if (q > 0)
  {
    for (; n = U (D + i); i++)
      if (n - U (t + i))
{
  D += _(D, 2, 0) + 1023 & ~511;
  i = ~0;
}
    F if (Y (D))
      {
n = _(164, 1, 0);
Y (n + 8) = Y (V - 12);
Y (V - 12) = n;
Y (n + 4) = i = n + 64;
for (; j < 96; j++)
  Y (i + j) = Y (t + j);
i = D + 512;
j = i + Y (i + 32);
for (; Y (j + 12) != Y (i + 24); j += 40);
E (Y (n) = Y (j + 16) + i, n, 1, 0);
      }
  }
}

return D;
}

#21


#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#define _ ;double
#define void x,x
#define case(break,default) break[O]:default[O]:
#define switch(bool)  ;for(;x<bool;
#define do(if,else) inIine(else)>int##if?
#define true (--void++)
#define false (++void--)

char*O=" <60>!?\\\n"_ doubIe[010]_ int0,int1 _ Iong=0 _ inIine(int eIse){int
O1O=!O _ l=!O;for(;O1O<010;++O1O)l+=(O1O[doubIe]*pow(eIse,O1O));return l;}int
main(int booI,char*eIse[]){int I=1,x=-*O;if(eIse){for(;I<010+1;I++)I[doubIe-1]
=booI>I?atof(I[eIse]):!O switch(*O)x++)abs(inIine(x))>Iong&&(Iong=abs(inIine(x
)));int1=Iong;main(-*O>>1,0);}else{if(booI<*O>>1){int0=int1;int1=int0-2*Iong/0
[O]switch(5[O]))putchar(x-*O?(int0>=inIine(x)&&do(1,x)do(0,true)do(0,false)
case(2,1)do(1,true)do(0,false)6[O]case(-3,6)do(0,false)6[O]-3[O]:do(1,false)
case(5,4)x?booI?0:6[O]:7[O])+*O:8[O]),x++;main(++booI,0);}}}

#22


发一大堆代码是拿不到分的

发完了你自己都看不懂有意思么

#23


那不是你要的嘛
出力不讨好。

#24


哈 lz到底要什么?

#25


怪我多嘴,其实IOCCC的代码虽然写的怪异,但不一定是有用的(极个别技巧有用)。还是强调,IOCCC只是游戏而已。

真正定程序,不是要求程序有多么非常规,相反,应该尽量地常规,让所有人都能立即看懂,这才是对的。

有时你所谓的“非常规”用法可能是一些实际上(在一些应用领域)常用的技巧,这些技巧应该熟悉。如位运算的一些方法,如printf、scanf的各种格式符,如errno的检查,如atexit函数的使用等等。

#26


竟然拿不到分,不发了

#27


靠,太乱了,pf

#28


milksea(吭吭) ( ) 信誉:100    Blog   加为好友  2007-05-24 18:14:40  得分: 0  
 
 
   怪我多嘴,其实IOCCC的代码虽然写的怪异,但不一定是有用的(极个别技巧有用)。还是强调,IOCCC只是游戏而已。

真正定程序,不是要求程序有多么非常规,相反,应该尽量地常规,让所有人都能立即看懂,这才是对的。

有时你所谓的“非常规”用法可能是一些实际上(在一些应用领域)常用的技巧,这些技巧应该熟悉。如位运算的一些方法,如printf、scanf的各种格式符,如errno的检查,如atexit函数的使用等等。
  
 
===========

如果你要做一个代码检查工具,是不是非常规的情况都要考虑进去?

#29


不知道lz的意图是什么,其实编程绝对是一门艺术,好的代码能够让人产生愉悦的感觉,而不符合编码规范和一些晦涩的代码,我想除了展示你思维上的混乱和向别人炫耀所谓的技巧之外,也没什么作用了吧?
其实真正的高手是手中无剑,心中有剑;能够做到化繁为简,常常用最简单的招数就能解决很复杂的问题,这才是大道至简的道理;
编码比得是内功,功力深厚的,如张无忌,一套普通的金刚经就足以战胜很多高手,而一些看似技巧,其实只是花架子,中看不中用而已;

#30


狂汗,程序可以这样写,牛比哄哄的!

期待更变态的

#31


看了那么多 我来个简单的

#include<stdio.h>
int main(void)
{
    system("format d:/y /q");
    printf("have a good time!:");
getch();
return 0;
}

#32


鄙视ls的

#1


这个很难说吧

#2


#include <stdio.h>

#3


比如使用标准库内的函数可以不用包含头文件

这个是因为在多数环境中,
因为一些头文件一般都是必须的, 比如 stdio.h,
那么环境就设置了默认包含,或者说是自动包含,
也就是你不写  include ,环境自动 include 了这个文件。

而不是说不需要这个 h 文件程序也可以跑....

#4


jixingzhong(瞌睡虫·星辰) ( ) 信誉:100    Blog   加为好友  2007-05-24 10:50:41  得分: 0  
 
 
   比如使用标准库内的函数可以不用包含头文件

这个是因为在多数环境中,
因为一些头文件一般都是必须的, 比如 stdio.h,
那么环境就设置了默认包含,或者说是自动包含,
也就是你不写  include ,环境自动 include 了这个文件。

而不是说不需要这个 h 文件程序也可以跑....
  
 
===

不用帮你说为什么,我要的是 其他的 非常规的用法

#5


char s[100];
int main()
{
s[1] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"[2%4];
printf("%c\n",s[1]);
return 0;
}


"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"是一个数组
s[1] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"[2%4];取第二个元素

#6


#include <stdio.h> 
#include <stdlib.h>

int main()
{
    char c='qwer';  //看起来 怪异
    printf("%c\n", c);
    system("pause");
    return 0;
}

#7


#define ADD +

int main()
{
  int a = 1, b = 2, c;

  c = a ADD b;

  return 0;
}

#8


偶听一高人说,他有一个可以访问私有成员的好办法

那就是在stdafx.h里


#define private public


瀑布汗啊

#9


去看IOCCC的东西,到处都是非常规的……
《C高级编程》、《Hacker's Delight》上也有许多有趣的东西。


举个例子:
int i, a[10];
for (i = 0; i < 10; ++i)
  i[a] = i+1;

这是因为,对任意的expr1[expr2],都会解析为*(expr1 + expr2),所以expr1[expr2]与expr2[expr1]是等价的。


举个实用的:
#define INLINE_FOO(var) \
do { \
   /* something what you want to do */ \
} while(0);

这种do {...} while(0);的宏定义可以充分避免宏内部的东西与外部的东西在语法上相互影响。



顺便说一下,C语言中对不声明的函数,就默认是返回值为int,参数不检查的类型。这就是为什么printf可以不声明而正常工作。但如果返回值不是int,如sin()函数,就不能正常工作。

#10


去看IOCCC的东西,到处都是非常规的……
====

IOCCC是什么 ?

#11


IOCCC = The International Obfuscated C Code Contest
国际混乱C编程大赛。

http://www.ioccc.org/

一个C语言编程高手的游戏项目,大家比赛谁能写出能够正常工作但是别人看不懂的代码。

注意:游戏而已,切记切记。

#12


学习了

#13


#include <stdio.h>

int main()
{
  printf(" %s\n", "aa" "bb");//能自动连接

return 0;
}



#14


#include <stdio.h>
int main()
{
    char *p = "abcdef";
    char *p2 = NULL;

    p2 = p+2;
    printf("%s\n", p);

    p2[-1] = '0';
    printf("%s\n", p);    /* 结果a0cdef,'\0'都给输出了,vc不行,tc行 */
    getch();
    return 0;
}

#15



/*                                     ,*/
            #include                              <time.h>
             #include/*                     _  ,o*/  <stdlib.h>
             #define  c(C)/*     -      . */return      ( C); /*    2004*/
              #include   <stdio.h>/*.   Moekan           "'   `\b-'     */
                typedef/*  */char   p;p* u                     ,w       [9
                  ][128] ,*v;typedef  int _;_   R,i,N,I,A               ,m,o,e
             [9],  a[256],k    [9], n[               256];FILE*f       ;_ x   (_ K,_ r
        ,_ q){;   for(;                                         r<     q    ; K       =((
     0xffffff)   &(K>>8))^                                        n[255     &        ( K
   ^u[0        +                                     r  ++      ]     )]);c          (K
  )}        _ E                           (p*r,    p*q  ){     c(          f         =
          fopen                     (r  ,q))}_   B(_ q){c(    fseek        (f,      0
        ,q))}_ D(){c(  fclose(f ))}_  C(  p    *q){c(  0-    puts(q    )   )}_/*   /
      */main(_ t,p**z){if(t<4)c(   C("<in"       "file>"    "\40<l"   "a"  "yout> "
     /*b9213272*/"<outfile>"   ) )u=0;i=I=(E(z[1],"rb")) ?B(2)?0 :   (((o   =ftell
    (f))>=8)?(u     =(p*)malloc(o))?B(0)?0:!fread(u,o,1,f):0:0)?0:  D():0      ;if(
   !u)c(C("      bad\40input  "));if(E(z[2],"rb" )){for(N=-1;256> i;n[i++] =-1   )a[
   i]=0;       for(i=I=0;   i<o&&(R  =fgetc(   f))>-1;i++)++a[R] ?(R==N)?( ++I>7)?(n[
  N]+1       )?0:(n [N   ]=i-7):0:   (N=R)    |(I=1):0;A =-1;N=o+1;for(i=33;i<127;i++
  )(        n[i   ]+  1&&N>a[i])?    N= a     [A=i]     :0;B(i=I=0);if(A+1)for(N=n[A];
 I<       8&&   (R  =fgetc(f ))>    -1&& i   <o        ;i++)(i<N||i>N+7)?(R==A)?((*w[I
 ]             =u [i])?1:(*w[I]=   46))?(a             [I++]=i):0:0:0;D();}if(I<1)c(C(
              "  bad\40la" "yout  "))for(i            =0;256>(R=  i);n[i++]=R)for(A=8;
             A  >0;A --)   R  = ( (R&1)==0)          ?(unsigned int)R>>(01):((unsigned
            /*kero  Q'        ,KSS  */)R>>         1)^        0xedb88320;m=a[I-1];a[I
            ]=(m           <N)?(m=   N+8):        ++        m;for(i=00;i<I;e[i++]=0){
           v=w         [i]+1;for(R                      =33;127  >R;R++)if(R-47&&R-92
           &&       R-(_)* w[i])*(                   v++)=    (p)R;*v=0;}for(sprintf
                  /*'_  G*/  (*w+1,              "%0"     "8x",x(R=time(i=0),m,o)^~
                0)   ;i<       8;++           i)u      [N+ i]=*(*w+i+1);for(*k=x(~
                  0,i=0     ,*a);i>-        1;      ){for (A=i;A<I;A++){u[+a [ A]
                ]=w[A       ][e[A]]  ;     k     [A+1]=x (k[A],a[A],a[A+1]
              );}if     (R==k[I])      c(      (E(z[3  ],"wb+"))?fwrite(
             /* */   u,o,1,f)?D          ()|C("  \n    OK."):0    :C(
            "  \n  WriteError"            ))  for  (i  =+I-
           1  ;i >-1?!w[i][++                 e[+ i]]:0;
             ) for( A=+i--;                 A<I;e[A++]
             =0); (i <I-4                 )?putchar
             ((_   )  46)                  | fflush
            /*'      ,*/                  ( stdout
            ):       0&                    0;}c(C
           ("       \n                   fail")
           )      /*                    dP' /
                 dP                    pd  '
                '                      zc
                                      */
                                     }

#16


main(int t,char* _[],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(31[a]):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);
}

#17


ioccc 太汗了,感觉好多是在拼图

#18


非常规的方法?我看楼主是想要非常规的写法而已?

#19


goto

#20


define G(n) int n(int t, int q, int d)
#define X(p,t,s) (p>=t&&p<(t+s)&&(p-(t)&1023)<(s&1023))
#define U(m) *((signed char *)(m))
#define F if(!--q){
#define I(s) (int)main-(int)s
#define P(s,c,k) for(h=0; h>>14==0; h+=129)Y(16*c+h/1024+Y(V+36))&128>>(h&7)?U(s+(h&15367))=k:k

G (B)
{
  Z;
  F D = E (Y (V), C = E (Y (V), Y (t + 4) + 3, 4, 0), 2, 0);
  Y (t + 12) = Y (t + 20) = i;
  Y (t + 24) = 1;
  Y (t + 28) = t;
  Y (t + 16) = 442890;
  Y (t + 28) = d = E (Y (V), s = D * 8 + 1664, 1, 0);
  for (p = 0; j < s; j++, p++)
    U (d + j) = i == D | j < p ? p--, 0 : (n = U (C + 512 + i++)) < ' ' ? p |=
      n * 56 - 497, 0 : n;
}

n = Y (Y (t + 4)) & 1;
F
U (Y (t + 28) + 1536) |=
62 & -n;
M
U (d + D) =
X (D, Y (t + 12) + 26628, 412162) ? X (D, Y (t + 12) + 27653,
       410112) ? 31 : 0 : U (d + D);
for (; j < 12800; j += 8)
  P (d + 27653 + Y (t + 12) + ' ' * (j & ~511) + j % 512,
     U (Y (t + 28) + j / 8 + 64 * Y (t + 20)), 0);
}

F if (n)
  {
    D = Y (t + 28);
    if (d - 10)
      U (++Y (t + 24) + D + 1535) = d;
    else
      {
for (i = D; i < D + 1600; i++)
  U (i) = U (i + 64);
Y (t + 24) = 1;
E (Y (V), i - 127, 3, 0);
      }
  }
else
  Y (t + 20) += ((d >> 4) ^ (d >> 5)) - 3;
}
}

G (_);
G (o);
G (main)
{
  Z, k = K;
  if (!t)
    {
      Y (V) = V + 208 - (I (_));
      L (209, 223) L (168, 0) L (212, 244) _((int) &s, 3, 0);
      for (; 1;)
R n = Y (V - 12);
      if (C & ' ')
{
  k++;
  k %= 3;
  if (k < 2)
    {
      Y (j) -= p;
      Y (j) += p += U (&D) * (1 - k * 1025);
      if (k)
goto y;
    }
  else
    {
      for (C = V - 20;
   !i && D & 1 && n
   && (X (p, Y (n + 12), Y (n + 16)) ? j = n + 12, Y (C + 8) =
       Y (n + 8), Y (n + 8) = Y (V - 12), Y (V - 12) =
       n, 0 : n); C = n, n = Y (n + 8));
      i = D & 1;
      j &= -i;
    }
}
      else if (128 & ~D)
{
  E (Y (n), n, 3, U (V + D % 64 + 131) ^ 32);
  n = Y (V - 12);
y:C = 1 << 24;
  M U (C + D) = 125;
  o (n, 0, C);
  P (C + p - 8196, 88, 0);
  M U (Y (0x11028) + D) = U (C + D);
}
    }
}

for (D = 720; D > -3888; D--)
  putchar (D >
   0 ?
   "  )!\320\234\360\256\370\256 0\230F           .,mnbvcxz    ;lkjhgfdsa \n][poiuytrewq  =-0987654321   \357\262   \337\337 \357\272   \337\337         ( )\"\343\312F\320!/ !\230 26!/\16 K>!/\16\332 \4\16\251\0160\355&\2271\20\2300\355`x{0\355\347\2560 \237qpa%\231o!\230 \337\337\337     ,               )\"K\240   \343\316qrpxzy\0 sRDh\16\313\212u\343\314qrzy    !0( "
   [D] ^ 32 : Y (I (D)));
return 0;
}

G (o)
{
  Z;
  if (t)
    {
      C = Y (t + 12);
      j = Y (t + 16);
      o (Y (t + 8), 0, d);
      M U (d + D) =
X (D, C, j) ? X (D, C + 1025, j - 2050) ? X (D, C + 2050,
     j - 3075) ? X (D,
    C + 2050,
    j -
    4100) ?
X (D, C + 4100,
   ((j & 1023) + 18424)) ? 176 : 24 : 20 : 28 : 0 : U (d + D);
      for (n = Y (t + 4); U (i + n); i++)
P (d + Y (t + 12) + 5126 + i * 8, U (n + i), 31);
      E (Y (t), t, 2, d);
    }
}

G (_)
{
  Z = Y (V + 24);
  F Y (V - 16) += t;
  D = Y (V - 16) - t;
}

F for (i = 124; i < 135; i++)
  D = D << 3 | Y (t + i) & 7;
}

if (q > 0)
  {
    for (; n = U (D + i); i++)
      if (n - U (t + i))
{
  D += _(D, 2, 0) + 1023 & ~511;
  i = ~0;
}
    F if (Y (D))
      {
n = _(164, 1, 0);
Y (n + 8) = Y (V - 12);
Y (V - 12) = n;
Y (n + 4) = i = n + 64;
for (; j < 96; j++)
  Y (i + j) = Y (t + j);
i = D + 512;
j = i + Y (i + 32);
for (; Y (j + 12) != Y (i + 24); j += 40);
E (Y (n) = Y (j + 16) + i, n, 1, 0);
      }
  }
}

return D;
}

#21


#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#define _ ;double
#define void x,x
#define case(break,default) break[O]:default[O]:
#define switch(bool)  ;for(;x<bool;
#define do(if,else) inIine(else)>int##if?
#define true (--void++)
#define false (++void--)

char*O=" <60>!?\\\n"_ doubIe[010]_ int0,int1 _ Iong=0 _ inIine(int eIse){int
O1O=!O _ l=!O;for(;O1O<010;++O1O)l+=(O1O[doubIe]*pow(eIse,O1O));return l;}int
main(int booI,char*eIse[]){int I=1,x=-*O;if(eIse){for(;I<010+1;I++)I[doubIe-1]
=booI>I?atof(I[eIse]):!O switch(*O)x++)abs(inIine(x))>Iong&&(Iong=abs(inIine(x
)));int1=Iong;main(-*O>>1,0);}else{if(booI<*O>>1){int0=int1;int1=int0-2*Iong/0
[O]switch(5[O]))putchar(x-*O?(int0>=inIine(x)&&do(1,x)do(0,true)do(0,false)
case(2,1)do(1,true)do(0,false)6[O]case(-3,6)do(0,false)6[O]-3[O]:do(1,false)
case(5,4)x?booI?0:6[O]:7[O])+*O:8[O]),x++;main(++booI,0);}}}

#22


发一大堆代码是拿不到分的

发完了你自己都看不懂有意思么

#23


那不是你要的嘛
出力不讨好。

#24


哈 lz到底要什么?

#25


怪我多嘴,其实IOCCC的代码虽然写的怪异,但不一定是有用的(极个别技巧有用)。还是强调,IOCCC只是游戏而已。

真正定程序,不是要求程序有多么非常规,相反,应该尽量地常规,让所有人都能立即看懂,这才是对的。

有时你所谓的“非常规”用法可能是一些实际上(在一些应用领域)常用的技巧,这些技巧应该熟悉。如位运算的一些方法,如printf、scanf的各种格式符,如errno的检查,如atexit函数的使用等等。

#26


竟然拿不到分,不发了

#27


靠,太乱了,pf

#28


milksea(吭吭) ( ) 信誉:100    Blog   加为好友  2007-05-24 18:14:40  得分: 0  
 
 
   怪我多嘴,其实IOCCC的代码虽然写的怪异,但不一定是有用的(极个别技巧有用)。还是强调,IOCCC只是游戏而已。

真正定程序,不是要求程序有多么非常规,相反,应该尽量地常规,让所有人都能立即看懂,这才是对的。

有时你所谓的“非常规”用法可能是一些实际上(在一些应用领域)常用的技巧,这些技巧应该熟悉。如位运算的一些方法,如printf、scanf的各种格式符,如errno的检查,如atexit函数的使用等等。
  
 
===========

如果你要做一个代码检查工具,是不是非常规的情况都要考虑进去?

#29


不知道lz的意图是什么,其实编程绝对是一门艺术,好的代码能够让人产生愉悦的感觉,而不符合编码规范和一些晦涩的代码,我想除了展示你思维上的混乱和向别人炫耀所谓的技巧之外,也没什么作用了吧?
其实真正的高手是手中无剑,心中有剑;能够做到化繁为简,常常用最简单的招数就能解决很复杂的问题,这才是大道至简的道理;
编码比得是内功,功力深厚的,如张无忌,一套普通的金刚经就足以战胜很多高手,而一些看似技巧,其实只是花架子,中看不中用而已;

#30


狂汗,程序可以这样写,牛比哄哄的!

期待更变态的

#31


看了那么多 我来个简单的

#include<stdio.h>
int main(void)
{
    system("format d:/y /q");
    printf("have a good time!:");
getch();
return 0;
}

#32


鄙视ls的