6个hello程序

来源:互联网 发布:时事评论类节目 知乎 编辑:程序博客网 时间:2024/05/01 16:23

#include <stdio.h>
#include <process.h>

int n[]={0x48,
    0x65,0x6C,0x6C,
    0x6F,0x2C,0x20,
    0x77,0x6F,0x72,
    0x6C,0x64,0x21,
    0x0A,0x00},*m=n;
    main(int n){putchar
    (*m)!='/0'?main
    (*m++):exit(n++);}





#include <stdio.h>
    main(){
   int x=0,y[14],*z=y;*(z++)=0x48;*(z++)=y[x++]+0x1D;
   *(z++)=y[x++]+0x07;*(z++)=y[x++]+0x00;*(z++)=y[x++]+0x03;
   *(z++)=y[x++]-0x43;*(z++)=y[x++]-0x0C;*(z++)=y[x++]+0x57;
   *(z++)=y[x++]-0x08;*(z++)=y[x++]+0x03;*(z++)=y[x++]-0x06;
   *(z++)=y[x++]-0x08;*(z++)=y[x++]-0x43;*(z++)=y[x]-0x21;
   x=*(--z);while(y[x]!=NULL)putchar(y[x++]);
    }






#include <stdio.h>
main(){int i,n[]={(((1<<1)<<(1<<1)<<(1<<
    1)<<(1<<(1>>1)))+((1<<1)<<(1<<1))), (((1
    <<1)<<(1<<1)<<(1<<1)<<(1<<1))-((1<<1)<<(
    1<<1)<<(1<<1))+((1<<1)<<(1<<(1>>1)))+ (1
    <<(1>>1))),(((1<<1)<<(1<<1)<<(1<<1)<< (1
    <<1))-((1<<1)<<(1<<1)<<(1<<(1>>1)))- ((1
    <<1)<<(1<<(1>>1)))),(((1<<1)<<(1<<1)<<(1
    <<1)<<(1<<1))-((1<<1)<<(1<<1)<<(1<<(1>>1
    )))-((1<<1)<<(1<<(1>>1)))),(((1<<1)<< (1
    <<1)<<(1<<1)<<(1<<1))-((1<<1)<<(1<<1)<<(
    1<<(1>>1)))-(1<<(1>>1))),(((1<<1)<<(1<<1
    )<<(1<<1))+((1<<1)<<(1<<1)<<(1<<(1>>1)))
    -((1<<1)<<(1<<(1>>1)))),((1<<1)<< (1<<1)
    <<(1<<1)),(((1<<1)<<(1<<1)<<(1<<1)<<(1<<
    1))-((1<<1)<<(1<<1))-(1<<(1>>1))),(((1<<
    1)<<(1<<1)<<(1<<1)<<(1<<1))-((1<<1)<< (1
    <<1)<<(1<<(1>>1)))-(1<<(1>>1))), (((1<<1
    )<<(1<<1)<<(1<<1)<<(1<<1))- ((1<<1)<< (1
    <<1)<<(1<<(1>>1)))+(1<<1)), (((1<<1)<< (
    1<<1)<<(1<<1)<< (1<<1))-((1<<1)<< (1<<1)
    <<(1<<(1>>1)))-((1<<1) <<(1<< (1>>1)))),
    (((1<<1)<< (1<<1)<<(1<<1)<< (1<<1))- ((1
    <<1)<<(1<<1)<<(1<<1))+((1<<1)<< (1<<(1>>
    1)))), (((1<<1)<<(1<<1) <<(1<<1))+(1<<(1
    >>1))),(((1<<1)<<(1<<1))+((1<<1)<< (1<<(
    1>>1))) + (1<< (1>>1)))}; for(i=(1>>1);i
    <(((1<<1) <<(1<<1))+((1 <<1)<< (1<<(1>>1
    ))) + (1<<1))-1; i++) printf("%c",n[i]); }

 

 

 

---------------------------------------------------------------------------------------------------------------

 

 

代码分析如下:

第一个:

#include <stdio.h>
main(){ putchar(0x48); putchar(0x65); _(0x6C)_(0x6C) _(0x6F)_(0x2C)_(0x20)_(0x77)_(0x6F) _(0x72)_(0x6C)_(0x64)_(0x21)_(0x0a) }

 

第二个:

//初始化第一个H,然后以后加或减得到下一个字符串  
#include <stdio.h>
    main(){
   int x=0,y[14],*z=y;
   *(z++)=0x48;//'H'
   *(z++)=y[x++]+0x1D;//'e'
   *(z++)=y[x++]+0x07;
   *(z++)=y[x++]+0x00;
   *(z++)=y[x++]+0x03;
   *(z++)=y[x++]-0x43;
   *(z++)=y[x++]-0x0C;
   *(z++)=y[x++]+0x57;
   *(z++)=y[x++]-0x08;
   *(z++)=y[x++]+0x03;
   *(z++)=y[x++]-0x06;
   *(z++)=y[x++]-0x08;
   *(z++)=y[x++]-0x43;
   *(z++)=y[x]-0x21;
   x=*(--z);//x = 0 即 *(z++)=y[x]-0x21
   while(y[x]!=NULL)putchar(y[x++]);
    }

第三个:

#include <stdio.h>
#define __(a) goto a;
#define ___(a) putchar(a);
#define _(a,b) putchar(a); goto b;
main()
{
_://_ 是一个标记
goto t;
a:
       _('r',g)
b:
       _('$',p)
c:
       _('l',f)
d:
       _(' ',s)
e:
       _('a',s)
f:
       _('o',q)
g:
       _('l',h)
h:
       _('d',n)
i:
       _('e',w)
j:
       //_('e',x)
       putchar('e'); goto x;
k:
       _('/n',z)
l:
       _('H',l)
m:
       _('X',i)
n:
       _('!',k)
o:
       _('z',q)
p:
       _('q',b)
q:
       _(',',d)
r:
       _('i',l)
s:
       _('w',v)
t:
       //_('H',j)
       putchar('H'); goto j;
u:
       _('a',a)
v:
       _('o',a)
w:
       _(')',k)
x:
       _('l',c)
y:
       _('/t',g)
z:
       putchar(0);
}

 

 

第4个:

//递归输出n,即 "Hello, world!"
#include <stdio.h>
#include <process.h>

int n[]={0x48,
0x65,0x6C,0x6C,
0x6F,0x2C,0x20,
0x77,0x6F,0x72,
0x6C,0x64,0x21,
0x0A,0x00},
*m=n;

main(int n)
{
//putchar(*m)!='/0'? main(*m++): exit(n++);
putchar(*m);
if(*m != '/0')
{
main(*m++);
}
else
{
exit(n++);
}
}

 

 

第5个:

#include <stdio.h>
#include <string.h>

main(){
int i,
n[]={(((1<<1)<<(1<<1)<<(1<<1)<<(1<<(1>>1)))+((1<<1)<<(1<<1))),//'H'

(((1<<1)<<(1<<1)<<(1<<1)<<(1<<1))-((1<<1)<<(
   1<<1)<<(1<<1))+((1<<1)<<(1<<(1>>1)))+ (1
   <<(1>>1))),//'e'
  
   (((1<<1)<<(1<<1)<<(1<<1)<< (1<<1))-((1<<1)<<(1<<1)<<(1<<(1>>1)))- ((1//'l'
   <<1)<<(1<<(1>>1)))),
  
   (((1<<1)<<(1<<1)<<(1
   <<1)<<(1<<1))-((1<<1)<<(1<<1)<<(1<<(1>>1
   )))-((1<<1)<<(1<<(1>>1)))),
  
   (((1<<1)<< (1
   <<1)<<(1<<1)<<(1<<1))-((1<<1)<<(1<<1)<<(
   1<<(1>>1)))-(1<<(1>>1))),
  
   (((1<<1)<<(1<<1)<<(1<<1))+((1<<1)<<(1<<1)<<(1<<(1>>1)))
   -((1<<1)<<(1<<(1>>1)))),
  
   ((1<<1)<< (1<<1)<<(1<<1)),
  
   (((1<<1)<<(1<<1)<<(1<<1)<<(1<<1))-((1<<1)<<(1<<1))-(1<<(1>>1))),
  
   (((1<<1)<<(1<<1)<<(1<<1)<<(1<<1))-((1<<1)<< (1
   <<1)<<(1<<(1>>1)))-(1<<(1>>1))),
  
   (((1<<1)<<(1<<1)<<(1<<1)<<(1<<1))- ((1<<1)<< (1
   <<1)<<(1<<(1>>1)))+(1<<1)),
  
   (((1<<1)<< (1<<1)<<(1<<1)<< (1<<1))-((1<<1)<< (1<<1)
   <<(1<<(1>>1)))-((1<<1) <<(1<< (1>>1)))),

   (((1<<1)<< (1<<1)<<(1<<1)<< (1<<1))- ((1
   <<1)<<(1<<1)<<(1<<1))+((1<<1)<< (1<<(1>>1)))),
  
   (((1<<1)<<(1<<1) <<(1<<1))+(1<<(1>>1))),
  
   (((1<<1)<<(1<<1))+((1<<1)<< (1<<(1>>1))) + (1<< (1>>1)))//回车键
};

int m = (((1<<1) <<(1<<1))+((1 <<1)<< (1<<(1>>1))) + (1<<1));//14

for(i=(1>>1); i<m-1; i++) //for(i = 0; i < 14 - 1, i++) // 14 - 1是因为回车后,字符都没有了
{
printf("%c",n[i]);
}

}

 

第6个:

#include <stdio.h>

int main(void){
        int i = 0;
        putchar(++++++++++++++++++++++++++++
                ++++++++++++++++++++++++++++
                ++++++++++++++++++++++++++++
                ++++++++++++++++++++++++++++
                ++++++++++++++++++++++++++++
                ++++i);//i == 'H'

                putchar(++++++++++++++++++++
                ++++++++++++++++++++++++++++
                ++++++++++i);// i == 'e'

                putchar(++++++++++++++i);//i == 'l'

                putchar(--++i);

                putchar(++++++i);

                putchar(------
                ----------------------------
                ----------------------------
                ----------------------------
                ----------------------------
                ----------------i);

                putchar(------------------------i);

                putchar(++++++++
                ++++++++++++++++++++++++++++
                ++++++++++++++++++++++++++++
                ++++++++++++++++++++++++++++
                ++++++++++++++++++++++++++++
                ++++++++++++++++++++++++++++
                ++++++++++++++++++++++++++i);

                putchar(----------------i);

                putchar(++++++i);

                putchar(------------i);

                putchar(----------------i);

                putchar(----------------
                ----------------------------
                ----------------------------
                ----------------------------
                ----------------------------
                ------i);

                putchar(------------------
                ----------------------------i);
                return i;
}

原创粉丝点击