トップページ⇒tech
576コメント162KB

2ちゃんねる版 邪悪なCコードコンテスト

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
邪悪なCコードコンテストの2ちゃんねる版やりませんか?

邪悪なCコードコンテスト(IOCCC)ホームページ
http://www.au.ioccc.org/

サンプルコード
(1987年度「最悪なスタイル賞」受賞作品 by Spencer Hines)
#include <stdio.h>
#include <malloc.h>
main(togo,toog)
int togo;
char *toog[];
{char *ogto, tgoo[80];FILE *ogot; int oogt=0, ootg, otog=79,
ottg=1;if ( togo== ottg) goto gogo; goto goog; ggot:
if ( fgets( tgoo, otog, ogot)) goto gtgo; goto gott;
gtot: exit(); ogtg: ++oogt; goto ogoo; togg: if ( ootg > 0)
goto oggt; goto ggot; ogog: if ( !ogot) goto gogo;
goto ggto; gtto: printf( "%d goto \'s\n", oogt); goto
gtot; oggt: if ( !memcmp( ogto, "goto", 4)) goto otgg;
goto gooo; gogo: exit( ottg); tggo: ootg= strlen(tgoo);
goto tgog; oogo: --ootg; goto togg; gooo: ++ogto; goto
oogo; gott: fclose( ogot); goto gtto; otgg: ogto= ogto +3;
goto ogtg; tgog: ootg-=4;goto togg; gtgo: ogto= tgoo;
goto tggo; ogoo: ootg-=3;goto gooo; goog: ogot= fopen(
toog[ ottg], "r"); goto ogog; ggto: ogto= tgoo; goto
ggot;}
0002デフォルトの名無しさんNGNG
#include "/dev/tty"
0003名無し@沢村NGNG
#include <stdio.h>
#include <malloc.h>
int a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;
for(a=0;a<=10000;a++){for(b=0;b<=10000;b++){for(c=0;c<=10000;c++){
for(d=0;d<=10000;d++){for(e=0;e<=10000;e++){for(f=0;f<=10000;f++){
for(g=0;g<=10000;g++){for(h=0;h<=10000;h++){for(i=0;i<=10000;i++){
for(j=0;j<=10000;j++){for(k=0;k<=10000;k++){for(l=0;l<=10000;l++){
for(m=0;m<=10000;m++){for(n=0;n<=10000;n++){for(o=0;o<=10000;o++){
for(p=0;p<=10000;p++){for(q=0;q<=10000;q++){for(r=0;r<=10000;r++){
for(s=0;s<=10000;s++){for(t=0;t<=10000;t++){for(u=0;u<=10000;u++){
for(v=0;v<=10000;v++){for(w=0;w<=10000;w++){for(x=0;x<=10000;x++){
for(y=0;y<=10000;y++){for(z=0;z<=10000;z++){printf("きんたま");}}}}}}}}}}}}}}}}}}}}}}}}}}
0004デフォルトの名無しさんNGNG
そういうありえないコードはつまんない。
0005デフォルトの名無しさんNGNG
邪悪 while(*dest++ = *src++);
正しい do{*dest=*src; dest++; src++}while(*src!='\0');
0006デフォルトの名無しさんNGNG
do whileな
0007デフォルトの名無しさんNGNG
誰かさ、コードがAAになってるやつ書いてよ。

int o,_;

if(o^_^o)
↑こういうのとか使ってさ。
0008デフォルトの名無しさんNGNG
// Hello World
#if defined( message )
puts( message );
#else
#define message "Hello World"
#include <stdio.h>
void main(void){
#include message
return;}
#endif
0009デフォルトの名無しさんNGNG
>>7
以前どこかで見たコード

int T_T=1;

while(T_T){
}
0010デフォルトの名無しさんNGNG
コード全体の位置を上手く配置して
AAにしたら加護のポスター全部やる
0011デフォルトの名無しさんNGNG
#!/usr/bin/perl -w # camel code
use strict;

$_='ev
al("seek\040D
ATA,0, 0;");foreach(1..3)
{<DATA>;}my @camel1hump;my$camel;
my$Camel ;while( <DATA>){$_=sprintf("%-6
9s",$_);my@dromedary 1=split(//);if(defined($
_=<DATA>)){@camel1hum p=split(//);}while(@dromeda
ry1){my$camel1hump=0 ;my$CAMEL=3;if(defined($_=shif
t(@dromedary1 ))&&/\S/){$camel1hump+=1<<$CAMEL;}
$CAMEL--;if(d efined($_=shift(@dromedary1))&&/\S/){
$camel1hump+=1 <<$CAMEL;}$CAMEL--;if(defined($_=shift(
@camel1hump))&&/\S/){$camel1hump+=1<<$CAMEL;}$CAMEL--;if(
defined($_=shift(@camel1hump))&&/\S/){$camel1hump+=1<<$CAME
L;;}$camel.=(split(//,"\040..m`{/J\047\134}L^7FX"))[$camel1h
ump];}$camel.="\n";}@camel1hump=split(/\n/,$camel);foreach(@
camel1hump){chomp;$Camel=$_;y/LJF7\173\175`\047/\061\062\063\
064\065\066\067\070/;y/12345678/JL7F\175\173\047`/;$_=reverse;
print"$_\040$Camel\n";}foreach(@camel1hump){chomp;$Camel=$_;y
/LJF7\173\175`\047/12345678/;y/12345678/JL7F\175\173\0 47`/;
$_=reverse;print"\040$_$Camel\n";}';;s/\s*//g;;eval; eval
("seek\040DATA,0,0;");undef$/;$_=<DATA>;s/\s*//g;( );;s
;^.*_;;;map{eval"print\"$_\"";}/.{4}/g; __DATA__ \124
0012デフォルトの名無しさんNGNG
半角スペースをいじるのが面倒だと判明したので

ttp://www.yapc.org/Europe/2001/proceedings/26/fractalcamel/camel_00.html
0013デフォルトの名無しさんNGNG
>>7 こういうの?
for (; ;)//~
{
...
0014デフォルトの名無しさんNGNG
>>12
有名なやつでつね。
0015デフォルトの名無しさんNGNG
>>9 >>13
そういうのに胴体とかもつけてほしいでつ。
モナーみたいな。
0016デフォルトの名無しさんNGNG
>>1
なにかと思ったらgotoの数をカウントするプログラムか。
0017デフォルトの名無しさんNGNG
本当に邪悪すぎる。
オブジェクト指向なんていっていられない。

このスレッドのCコードみた感想です。

邪悪というからにはC++版もあるんですか?
0018デフォルトの名無しさんNGNG
>>17
最悪なら分かるが、何故に邪悪?
0019デフォルトの名無しさんNGNG
似たような主旨の記事にあったやし

void main(void)
{
for(long i=0;i<30;i++)
{
i%2==0 && printf("kisuu");
}
}
0020デフォルトの名無しさんNGNG
>>12
スレタイぐらい読めよ。

> 2チャンネル版 邪悪な
> Cコード
 ~~~~~~~~
> コンテスト
0021デフォルトの名無しさんNGNG
>>10
   /*
   |
   |
   |
  ∧|∧
 ( / ⌒ヽ     | ̄ ̄ ̄ ̄ ̄ ̄ ̄
  | |   |     |
  ∪ / ノ  .   |
  ノ ノ ノ      */
 main       (
           )
           {
           }
0022デフォルトの名無しさんNGNG
>>21
ワロタ
002310NGNG
>>21
ポスター2枚の価値。
いるか?
002421NGNG
>>23
ややウケ?
ポスターはいらんっす。
0025デフォルトの名無しさんNGNG
2枚かよ
セコッ
0026デフォルトの名無しさんNGNG
>>21
ハゲワラ
よーし。俺も今日から使えるプログラムじゃなくて、
面白いコードを書くぞー
0027デフォルトの名無しさんNGNG
#define f main{
#define l
int i;

   f;;;;;;;;;;;;;;;;l
{;;;;;;;;;;;;;;;;;;;;;;;;;;;;;}i =3
  l;0;l  l;0;}
0028デフォルトの名無しさんNGNG
> #define f main{
> #define l
> int i;
ここがだめ
0029デフォルトの名無しさんNGNG
             #define \
            f main { int i
            unsigned j=1;
             #define l


   f~~j;~~~j;
{;;;;;;;;;;;;;;;;;;;;;;;;;;;;;}i =3
  l;0;l  l;0;}
0030デフォルトの名無しさんNGNG
>>5
「正しい」 の方、バグねーか?
0031デフォルトの名無しさんNGNG
という指摘を >>6 がしたのか。
0032デフォルトの名無しさんNGNG
ageっと。
邪悪なコードじゃないけど、漏れがプログラミングをやるようになって
最初の頃に書いたeを求めるコード。

#include <stdio.h>
int main()
{
 /* 変数の確保 */
 int input , counter;
 long n , temp = 1;
 double e = 0;
 printf(" e 精度:");
 scanf("%d" , &input);
 for(counter = 1 ; counter != (input + 1) ; counter++){
  for(n = 1 ; temp != counter ; temp++){ /* N!を求める n回目のループでN! */
   n *= temp;
  }
  /* 1/n == 1/N!
  e == 1 + 1/1! + 1/2! + 1/3! + … */
  e += (double) 1 / n;
  /* n!を求めるための変数の再初期化 */
  temp = 1;
 }
 printf("%.16f" , e);
 return 0;
}
0033デフォルトの名無しさんNGNG
邪悪だ・・・
0034デフォルトの名無しさんNGNG
邪悪と言うのなら
引数が足りないとargv[]を書き換えて
暴走する程度の邪悪さがホスイ
0035デフォルトの名無しさんNGNG
__asm int 19h
0036デフォルトの名無しさんNGNG
#include <stdio.h>

int main(){
 int i=5;
 while(i);
   i--;
 return 0;
}
0037デフォルトの名無しさんNGNG
>>36
あまり邪悪さは見られないのだが。
0038cccNGNG
★http://www6.ocn.ne.jp/~endou/index2.html★
      ★こんなサイト見つけました★
0039デフォルトの名無しさんNGNG
>>37
・whileが無限ループ
0040デフォルトの名無しさんNGNG
>>36
邪悪というより、バグっぽい。
0041山崎渉NGNG
(^^)
0042デフォルトの名無しさんNGNG
>>30
セミコロンが足りない
最後の'\0'を書き込まない
文字列長が0の時ヤバ
他にある?
0043デフォルトの名無しさんNGNG
>>42
そんだけあれば、十分かと。
0044金正日マンセー!NGNG
(^ゝ^)yマズハココミテ!(ブラOラデスケド・・・・
http://www.kimjoniru.sine/file/read.cgi/test/1024x001/iso.exe
金正日マンセー!金正日マンセー!金正日マンセー!金正日マンセー!金正日マンセー!
金正日マンセー!金正日マンセー!金正日マンセー!金正日マンセー!金正日マンセー!
0045デフォルトの名無しさんNGNG
以前客先で見たソースの中に、
i=i;
という部分があった。
これを見たのは、C言語を勉強し始めて1ヶ月程度の時だったのだが、
どういう意味があるのか、と小一時間悩んでしまった。
「愛は愛。されど愛...」

はい、スレ違いですね。逝ってきます。
0046デフォルトの名無しさんNGNG
私は私
0047名無しさんだよもん ◆ZAYX.QGihc NGNG
#include
<stdio.h>
void
main()
{SHINE:
printf("┌─────────┐\n│                  │\n|    SHINE .     |\n│                  │\n└―――──――――┘\n     ヽ( ・∀・)ノ\n        ( へ)n\        くn\ ");
goto SHINE;}
0048デフォルトの名無しさんNGNG
#include <stdio.h>
void main()
{
FILE *f;
char buf[256];
int i=0;
while(1)
{
sprintf(buf,"data%d.dat", i);
f=fopen(buf,"w");
fputs("( ´∀`)<ぬるぽ",f);
fclose(f);
}
return;
}
0049デフォルトの名無しさんNGNG
いまさらだが、>>21にびっくりした。えらい。

しかし、このすれは、なんでvoid派が多いんだ。
0050デフォルトの名無しさんNGNG
マクロを使って Pascal のソースにしてしまうっていうのが有ったな。
邪悪というか何というか。
0051デフォルトの名無しさんNGNG
#define { begin
とかっての?
0052デフォルトの名無しさんNGNG
そうそう(w
0053デフォルトの名無しさんNGNG
高度可読性C とかいうトンデモ本があったな
マクロで日本語に置き換えるというアフォな話だった


0054デフォルトの名無しさんNGNG
日本語になっていない日本語に可読性なんてあるか?>トンデモ本

0055デフォルトの名無しさんNGNG
>>49
ベテランが多いんじゃねーの?
0056デフォルトの名無しさんNGNG
C/C++用の
オブファスケータ【obfascater】ってない?
0057デフォルトの名無しさんNGNG
縦書き hello world

p\
r\
i\
n\
t\
f\
(
c\
h\
a\
r\
*\
,
.\
.\
.\
)
;
0058デフォルトの名無しさんNGNG
続き

m\
a\
i\
n\
(\
)\
{
p\
r\
i\
n\
t\
f\
(\
"h"
"e"
"l"
"l"
"o"
" "
"W"
"o"
"r"
"l"
"d"
)
;
}
0059デフォルトの名無しさんNGNG
>>50

ttp://www.pro.or.jp/~fuji/computerbooks/c/c.modula2.html
で叩かれている本とか?
006057NGNG
あらためて見ると、縦書きも普通っぽいなぁ。
0061>>21リスペクトNGNG
   /*
   |
   |
   |
  ∧|∧
 ( / ⌒ヽ     | ̄ ̄ ̄ ̄ ̄ ̄ ̄
  | |   |     |
  ∪ / ノ  .   |
  ノ ノ ノ      */
 main       (
           )
           {
           printf("Goodbye World!");
           }
0062デフォルトの名無しさんNGNG
全然邪悪じゃないな。
一見なんの変哲もないCプログラムをコンパイルすると、
何故だか、コンパイラが汚染されるようなコードかかないとな。
0063デフォルトの名無しさんNGNG
>>62
冷静に考えてムリポ
0064デフォルトの名無しさんNGNG
>>63
コンパイラのセキュリティーホールをつけば可能。
0065デフォルトの名無しさんNGNG
>>64
はげしくコンパイラ依存だな
0066デフォルトの名無しさんNGNG
main() {
return 1;
}
0067デフォルトの名無しさんNGNG
>>66
それは/bin/false。
0068デフォルトの名無しさんNGNG
#include <windows.h>
void main()
{
HANDLE fmo=CreateFileMapping((void*)0xFFFFFFFF,NULL,PAGE_READWRITE,0, 0xFFFF,"TESTFMO");
LPVOID ptr;
for(;;)ptr=MapViewOfFile(fmo,FILE_MAP_READ, 0, 0, 0);
}
0069デフォルトの名無しさんNGNG
配列の確保できる量を超えるとか。
forより激しく邪悪だと思う。
0070デフォルトの名無しさんNGNG
向こうの人ってこういうコンテスト好きだよなあ
0071デフォルトの名無しさんNGNG
int hoge[100][100][100][100][100];
0072デフォルトの名無しさんNGNG
int hoge[INT_MAX];
0073デフォルトの名無しさんNGNG
邪悪だ・・・
0074デフォルトの名無しさんNGNG
どこが?
0075デフォルトの名無しさんNGNG
main() {
returan 0;
}
0076デフォルトの名無しさんNGNG
switch (i) {
dafualt: printf("実行されません。");
}
0077デフォルトの名無しさんNGNG
こういうのが動く処理系が少なくなったな。

void func1(void);
void func2(void);

int main(void)
{
memcpy(func1, func2, (char *)func2 - (char *)func1);
func1();

return 0;
}

void func1(void)
{
printf("これはfunc1()です。\n");
}

void func2(void)
{
printf("これはfunc2()です。\n");
}
0078デフォルトの名無しさんNGNG
>>77
これはfunc2()です。
と表示されるの?
0079デフォルトの名無しさんNGNG
>>75
それは、/bin/trueって釣られたのか?
0080デフォルトの名無しさんNGNG
void print_roman_numerals(int i) { while (i-- > 0) putchar('I'); }
0081デフォルトの名無しさんNGNG
test
0082デフォルトの名無しさんNGNG
for(i=0;i<10;i++) i--;
0083デフォルトの名無しさんNGNG
>>81
確かに。昔はPATH=.:/bin:…(ドットが目立たないので全角にした)
とか平気でやってたもんな。でもって、
cc -o test test.c
とかやって、/bin/testと干渉して。
0084デフォルトの名無しさんNGNG
OCCCといえば、これが好き
http://www.au.ioccc.org/1988/westley.c

初めて見たとき感動した
0085デフォルトの名無しさんNGNG
>>78
そのはずだがWindowsでBorland-C++使うと実行時エラーになる。
どうもコードセグメントが読み取り専用属性になってるらしい。
昔のDOSでは動いた。
0086デフォルトの名無しさんNGNG
>>85
最近のOSとコンパイラなら、まず、実行時エラーでしょう。
昔のUnixではどうだったんだろうか。
0087デフォルトの名無しさんNGNG
スレ違いだと思うんですけど携帯用のウィルスってある(できる)んですかねぇ〜?
もし、あったり作れちゃったりできる人はメール送ってください。
0088デフォルトの名無しさんNGNG
>>87
今すぐ氏ね
0089デフォルトの名無しさんNGNG
>>87
大爆笑。おまえセンスあるよ。
0090デフォルトの名無しさんNGNG
>>87
あるけど面倒くさい
0091デフォルトの名無しさんNGNG
>>87 邪悪の意味が違う。つか、君の心が邪悪
0092デフォルトの名無しさんNGNG
携帯用のウィルスかどうか知らんが、メールを開くだけで
110番にかかる奴ならあるよ。
0093デフォルトの名無しさんNGNG
main(){while(1)malloc(1);}
0094デフォルトの名無しさんNGNG
main(){ main(); }
0095デフォルトの名無しさんNGNG
int main()
{
*(char*)NULL = 0;
}
0096デフォルトの名無しさんNGNG
*(char*)rand() = 0;
0097デフォルトの名無しさんNGNG
main(){
system("kill 1");
}
0098デフォルトの名無しさんNGNG
>>94
わらた
0099デフォルトの名無しさんNGNG
無限再帰w
0100デフォルトの名無しさんNGNG
>>97
それを言うなら、kill(1, SIGTERM);
0101デフォルトの名無しさんNGNG
>80 ワラタ。
何げに
/* iは1〜3のこと */
というコメントをつけてどこかのアフォが使っていそうでもある。
■ このスレッドは過去ログ倉庫に格納されています