1 :
デフォルトの名無しさん :
03/01/17 20:21 邪悪な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;}
#include "/dev/tty"
#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("きんたま");}}}}}}}}}}}}}}}}}}}}}}}}}}
そういうありえないコードはつまんない。
邪悪 while(*dest++ = *src++); 正しい do{*dest=*src; dest++; src++}while(*src!='\0');
do whileな
7 :
デフォルトの名無しさん :03/01/17 21:54
誰かさ、コードがAAになってるやつ書いてよ。 int o,_; if(o^_^o) ↑こういうのとか使ってさ。
8 :
デフォルトの名無しさん :03/01/17 21:59
// Hello World #if defined( message ) puts( message ); #else #define message "Hello World" #include <stdio.h> void main(void){ #include message return;} #endif
9 :
デフォルトの名無しさん :03/01/17 22:08
>>7 以前どこかで見たコード
int T_T=1;
while(T_T){
}
10 :
デフォルトの名無しさん :03/01/17 22:16
コード全体の位置を上手く配置して AAにしたら加護のポスター全部やる
#!/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
13 :
デフォルトの名無しさん :03/01/17 22:28
>>7 こういうの?
for (; ;)//~
{
...
15 :
デフォルトの名無しさん :03/01/17 22:36
>>9 >>13 そういうのに胴体とかもつけてほしいでつ。
モナーみたいな。
>>1 なにかと思ったらgotoの数をカウントするプログラムか。
本当に邪悪すぎる。 オブジェクト指向なんていっていられない。 このスレッドのCコードみた感想です。 邪悪というからにはC++版もあるんですか?
似たような主旨の記事にあったやし void main(void) { for(long i=0;i<30;i++) { i%2==0 && printf("kisuu"); } }
>>12 スレタイぐらい読めよ。
> 2チャンネル版 邪悪な
> Cコード
~~~~~~~~
> コンテスト
21 :
デフォルトの名無しさん :03/01/18 15:54
>>10 /*
|
|
|
∧|∧
( / ⌒ヽ | ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | |
∪ / ノ . |
ノ ノ ノ */
main (
)
{
}
2枚かよ セコッ
>>21 ハゲワラ
よーし。俺も今日から使えるプログラムじゃなくて、
面白いコードを書くぞー
27 :
デフォルトの名無しさん :03/01/18 17:29
#define f main{ #define l int i; f;;;;;;;;;;;;;;;;l {;;;;;;;;;;;;;;;;;;;;;;;;;;;;;}i =3 l;0;l l;0;}
> #define f main{ > #define l > int i; ここがだめ
29 :
デフォルトの名無しさん :03/01/18 20:18
#define \ f main { int i unsigned j=1; #define l f~~j;~~~j; {;;;;;;;;;;;;;;;;;;;;;;;;;;;;;}i =3 l;0;l l;0;}
32 :
デフォルトの名無しさん :03/01/21 03:30
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; }
邪悪だ・・・
邪悪と言うのなら 引数が足りないとargv[]を書き換えて 暴走する程度の邪悪さがホスイ
__asm int 19h
#include <stdio.h> int main(){ int i=5; while(i); i--; return 0; }
37 :
デフォルトの名無しさん :03/01/21 16:28
(^^)
>>30 セミコロンが足りない
最後の'\0'を書き込まない
文字列長が0の時ヤバ
他にある?
以前客先で見たソースの中に、 i=i; という部分があった。 これを見たのは、C言語を勉強し始めて1ヶ月程度の時だったのだが、 どういう意味があるのか、と小一時間悩んでしまった。 「愛は愛。されど愛...」 はい、スレ違いですね。逝ってきます。
私は私
#include <stdio.h> void main() {SHINE: printf("┌─────────┐\n│ │\n| SHINE . |\n│ │\n└―――──――――┘\n ヽ( ・∀・)ノ\n ( へ)n\ くn\ "); goto SHINE;}
#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; }
49 :
デフォルトの名無しさん :03/02/20 23:13
いまさらだが、
>>21 にびっくりした。えらい。
しかし、このすれは、なんでvoid派が多いんだ。
マクロを使って Pascal のソースにしてしまうっていうのが有ったな。 邪悪というか何というか。
#define { begin とかっての?
そうそう(w
高度可読性C とかいうトンデモ本があったな マクロで日本語に置き換えるというアフォな話だった
日本語になっていない日本語に可読性なんてあるか?>トンデモ本
55 :
デフォルトの名無しさん :03/02/22 00:21
56 :
デフォルトの名無しさん :03/02/22 01:26
C/C++用の オブファスケータ【obfascater】ってない?
縦書き hello world p\ r\ i\ n\ t\ f\ ( c\ h\ a\ r\ *\ , .\ .\ .\ ) ;
続き m\ a\ i\ n\ (\ )\ { p\ r\ i\ n\ t\ f\ (\ "h" "e" "l" "l" "o" " " "W" "o" "r" "l" "d" ) ; }
59 :
デフォルトの名無しさん :03/02/22 01:35
あらためて見ると、縦書きも普通っぽいなぁ。
/* | | | ∧|∧ ( / ⌒ヽ | ̄ ̄ ̄ ̄ ̄ ̄ ̄ | | | | ∪ / ノ . | ノ ノ ノ */ main ( ) { printf("Goodbye World!"); }
62 :
デフォルトの名無しさん :03/02/22 04:11
全然邪悪じゃないな。 一見なんの変哲もないCプログラムをコンパイルすると、 何故だか、コンパイラが汚染されるようなコードかかないとな。
>>63 コンパイラのセキュリティーホールをつけば可能。
main() { return 1; }
#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); }
69 :
デフォルトの名無しさん :03/02/22 19:39
配列の確保できる量を超えるとか。 forより激しく邪悪だと思う。
向こうの人ってこういうコンテスト好きだよなあ
int hoge[100][100][100][100][100];
72 :
デフォルトの名無しさん :03/02/22 19:59
int hoge[INT_MAX];
73 :
デフォルトの名無しさん :03/02/22 20:06
邪悪だ・・・
74 :
デフォルトの名無しさん :03/02/22 21:00
どこが?
main() { returan 0; }
switch (i) { dafualt: printf("実行されません。"); }
こういうのが動く処理系が少なくなったな。 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"); }
78 :
デフォルトの名無しさん :03/02/23 17:07
>>77 これはfunc2()です。
と表示されるの?
>>75 それは、/bin/trueって釣られたのか?
void print_roman_numerals(int i) { while (i-- > 0) putchar('I'); }
test
82 :
デフォルトの名無しさん :03/02/23 17:35
for(i=0;i<10;i++) i--;
>>81 確かに。昔はPATH=.:/bin:…(ドットが目立たないので全角にした)
とか平気でやってたもんな。でもって、
cc -o test test.c
とかやって、/bin/testと干渉して。
>>78 そのはずだがWindowsでBorland-C++使うと実行時エラーになる。
どうもコードセグメントが読み取り専用属性になってるらしい。
昔のDOSでは動いた。
>>85 最近のOSとコンパイラなら、まず、実行時エラーでしょう。
昔のUnixではどうだったんだろうか。
スレ違いだと思うんですけど携帯用のウィルスってある(できる)んですかねぇ〜? もし、あったり作れちゃったりできる人はメール送ってください。
88 :
デフォルトの名無しさん :03/02/23 23:08
携帯用のウィルスかどうか知らんが、メールを開くだけで 110番にかかる奴ならあるよ。
main(){while(1)malloc(1);}
94 :
デフォルトの名無しさん :03/02/24 15:00
main(){ main(); }
int main() { *(char*)NULL = 0; }
96 :
デフォルトの名無しさん :03/02/24 16:02
*(char*)rand() = 0;
97 :
デフォルトの名無しさん :03/02/24 18:02
main(){ system("kill 1"); }
98 :
デフォルトの名無しさん :03/02/24 18:04
99 :
デフォルトの名無しさん :03/02/24 18:05
無限再帰w
>>97 それを言うなら、kill(1, SIGTERM);
>80 ワラタ。 何げに /* iは1〜3のこと */ というコメントをつけてどこかのアフォが使っていそうでもある。
cat baka.c main() { printf("1000 + 1000 = %d\n", add(1000, 1000)); } add(int x, int y) { return 0 == x ? y : add(x - 1, y) + 1; } gcc -Wall -o baka baka.c baka.c:2: warning: return-type defaults to `int' baka.c: In function `main': baka.c:3: warning: implicit declaration of function `printf' baka.c:3: warning: implicit declaration of function `add' baka.c:4: warning: control reaches end of non-void function baka.c: At top level: baka.c:7: warning: return-type defaults to `int' ./baka 1000 + 1000 = 2000 echo $? 19
printf() の戻り値が返るのか
sage。
>>103 仕様では未定義だろうが、このコンパイラでは、そうなっているようだ。
ん〜 そういえば、会社で適当に書いたカナローマ字変換は邪悪だったな…
女神転生の悪魔召喚プログラムは邪悪だと思いますが、 僕にはCで実装する能力はありません。
Cプログラミング / 石田晴久. -- 岩波書店, 1984.3より。 関数の中で別の関数を宣言したりとかは、昔だからしかたがない。 やっていることも、普通だ。 しかし、このスペースと改行の使い方は何だ? /*----------fcopy.c-----*/ #include <stdio.h> main( argc, argv ) int argc; char *argv[]; { FILE *fp1, *fp2, *fopen(); char c; if(argc==1) while((c=getchar())!=EOF) putchar(c); else { if(argc>=2) { fp1=fopen(*++argv,"r"); if(fp1==NULL) printf("Input file error!\n"); else if(argc==2) while((c=getc(fp1))!=EOF) putchar(c); } if(argc>=3) {fp2=fopen(*++argv, "w"); if(fp2==NULL) printf("Output file error!\n"); else if(fp1!=NULL) while((c=getc(fp1))!=EOF) putc(c,fp2); fclose(fp2); } } }
#include <stdio.h> としてあるのに FILE *fopen(); があるのは仕方ないのか?
>>108 1984年当時は、ヘッダ = インタフェースという考え方が希薄で、
stdio.hには、FILEの定義程度のことしか書かれていなかったんじゃ
ないか? つまり、しかたなかったと思われめ。
>>100 何故、kill(1, SIGKILL) にしない ?
#include <stdio.h> int main() { int a,b,c,d,e,f,g; int x=10000000; for(a=1; a<x;a++) { for(b=1;b<x;b++) { for(c=1;c<x;c++) { for(d=1;d<x;d++) { for(e=1;e<x;e++) { for(f=1;f<x;f++) { for(g=1;g<x;g++) }}}}}}}
ごめん、かなりミスった #include <stdio.h> int main(void) { int a,b,c,d,e,f,g; int x=100; for(a=1; a<x;a++) { for(b=1;b<x;b++) { for(c=1;c<x;c++) { for(d=1;d<x;d++) { for(e=1;e<x;e++) { for(f=1;f<x;f++) { for(g=1;g<x;g++) { printf("%d、%d、%d、%d、%d、%d\n",a,b,c,d,e,f,g); }}}}}}} return 0; }
115 :
デフォルトの名無しさん :03/03/02 22:22
邪悪なコード
邪なコード
仲人
#include<stdio.h> #define piyo int #define hoge main #define net void #define stat { #define end } #define minasan printf piyo hoge(net) stat minasan("Hello world"); return 0; end
119 :
デフォルトの名無しさん :03/03/03 22:48
で何がしたいんだ?
120 :
デフォルトの名無しさん :03/03/04 11:08
c=3
女神転生(最初のやつ)の主人公って、 ナカジマカオルだったっけ?
中島朱実 ナカジマアケミ
悪魔償還プログラムはBASICですよ。マジで。
うそつくなー!アセンブリ言語だよー!
125 が正解。 しかも、Z80 のアセンブリ言語な。
4004 じゃないのか
#define"はじめ"{ #define"おわり"{ #define"中心"main #define"もし"if #define"くりかえす"for #define"代入"= #define"等しい"== #define"たす"+ #define"整数"int
#define"ここから"( #define"ここまで") #define"戻り値"return #define"出力" printf #define"、"; #define"一つたす"++ #define"改行"\n //#define追加#include #include<stdio.h> 整数 中心 ここから ここまで はじめ 整数 i、 くりかえす ここから i 代入 0 、i 等しい 10 、i 一つたす ここまで 出力 ここから "テストテスト 改行" ここまで もどりち i、 おわり
上記のコードはむりなのかなぁ〜 VC++じゃ無理....
>>130 #define のシンボルは、C/C++ の命名規則による。
どうしてもそのコードを通したいなら、日本語に対応したプリプロセッサを
自分で書く事だ。
132 :
デフォルトの名無しさん :03/03/17 20:20
>128-129 なかなか面白いことやるねあんた
「邪悪」ってのは、可読性とコーディングスタイルだけのことなのか? 処理内容が邪悪、ってのはNG?(おい
HSP はそれだけで邪悪
>>133 ファイルシステム破壊とか本当に悪質なものはダメでしょ。
>>135 マジレスありがと。
# 悪意がなくても、バグでファイルシステムが逝っちゃうケースも
# ありそうな気がするけど・・・。
>>134 title ""
return
loop
end
やべっ、素で間違えた return→repeat …HSPって難しいね。
>>129 JPerlならほぼ全部日本語のプログラミング言語です
#define that this #define these this #define those this return *these;
#define NULLPO NULL
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←
>>142
#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;enum{start,ggot,gtot,ogtg, togg,ogog,gtto,oggt,gogo,tggo,oogo,gooo,gott,otgg,tgog,gtgo,ogoo,goog,ggto,end}to = start; while(to != end){while(to == start){while(to == start && togo== ottg) to = gogo; while(to == start)to = goog;}while(to == ggot){while(to == ggot && fgets( tgoo, otog, ogot)) to = gtgo;while(to == ggot)to = gott;}while(to == gtot){exit();to = ogtg;}while(to == ogtg){ ++oogt; to = ogoo; }while(to == togg){while(to == togg && ootg > 0)to = oggt; while(to == togg)to = ggot; }while(to == ogog){while(to == ogog && !ogot) to = gogo; while(to == ogog)to = ggto;}while(to == gtto){printf( "%d to = \'s\n", oogt); to = gtot;} while(to == oggt){while(to == oggt && !memcmp( ogto, "goto", 4)) to = otgg; while(to == oggt)to = gooo; }while(to == gogo){exit(ottg);to = tggo;}while(to == tggo){ ootg= strlen(tgoo);to = tgog;}while(to == oogo){--ootg;to = togg;}while(to == gooo){ ++ogto;to = oogo;}while(to == gott){fclose(ogot);to = gtto;}while(to == otgg){ogto = ogto +3; to = ogtg;}while(to == tgog){ootg -= 4;to = togg;}while(to == gtgo){ogto = tgoo;to = tggo;} while(to == ogoo){ootg -= 3;to = gooo;}while(to == goog){ogot = fopen(toog[ottg], "r"); to = ogog;}while(to == ggto){ogto = tgoo;to = ggot;}}}
145 を構造化して整理してくれんか。
147 :
デフォルトの名無しさん :03/03/19 20:49
#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; enum { start, ggot, gtot, ogtg, togg, ogog, gtto, oggt, gogo, tggo, oogo, gooo, gott, otgg, tgog, gtgo, ogoo, goog, ggto, end } to = start; while(to != end) { while(to == start) { while(to == start && togo== ottg) to = gogo; while(to == start) to = goog; } while(to == ggot) { while(to == ggot && fgets( tgoo, otog, ogot)) to = gtgo; while(to == ggot)to = gott; }
148 :
デフォルトの名無しさん :03/03/19 20:51
while(to == gtot) { exit(); to = ogtg; } while(to == ogtg) { ++oogt; to = ogoo; } while(to == togg) { while(to == togg && ootg > 0)to = oggt; while(to == togg)to = ggot; } while(to == ogog) { while(to == ogog && !ogot) to = gogo; while(to == ogog)to = ggto; } while(to == gtto) { printf( "%d to = \'s\n", oogt); to = gtot; }
149 :
デフォルトの名無しさん :03/03/19 20:57
while(to == oggt) { while(to == oggt && !memcmp( ogto, "goto", 4)) to = otgg; while(to == oggt)to = gooo; } while(to == gogo) { exit(ottg); to = tggo; } while(to == tggo) { ootg= strlen(tgoo); to = tgog; } while(to == oogo) { --ootg; to = togg; nullpo; } while(to == gooo) { ++ogto;to = oogo; }
150 :
デフォルトの名無しさん :03/03/19 20:57
while(to == gott) { fclose(ogot); to = gtto; } while(to == otgg) { ogto = ogto +3; to = ogtg; } while(to == tgog)あああ { ootg -= 4; to = togg; } while(to == gtgo) { ogto = tgoo; to = tggo; }
151 :
デフォルトの名無しさん :03/03/19 20:58
while(to == ogoo) { ootg -= 3; to = gooo; } while(to == goog) { ogot = fopen(toog[ottg], "r"); to = ogog; } while(to == ggto)つかれた { ogto = tgoo; to = ggot; } } }ぼぼぼーぼ
>>150 の「あああ」あたりから精神的にヤバくなってないか?(;´Д`)ダイジョウブ?
ワラタ
ミノガサナイゾ
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←
>>149
この板にはぬるぽ叩きに命かけてるヤシがいるみたいだな。
ミノガサナイゾ
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←
>>155
157 :
デフォルトの名無しさん :03/03/22 21:38
↓うおー、お前よくそんなに邪悪なコード書けるな。 すげぇよ。尊敬。
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←
>>157
>158 お前には失望したよ。
オヤクソク‥ト
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←
>>160
ランクヒクスギ
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←
>>162
(^^)
∧_∧ ( ^^ )< ぬるぽ(^^)
か、め、は、め、はーーーーーーー
http://www.kmonos.net/wlog/19.html#_1751020514 #include <stdio.h>
#include <stdlib.h>
typedef int o; o bomb; o main(o); struct t { t& operator==(o){ ++bomb&7
?printf(">"),system(gets(b)):main(bomb); return *this;} char b[999]; } K;
int main
( o) {{ }
K ==0==0==0==0==0==0==0==0== bomb
/\
#include <stdlib.h> int main(int argc, char** argv) { system(argv[0]); return 0; }
#include <stdrom.h> int foo( void ) { return 1; }
∧_∧ ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。 =〔~∪ ̄ ̄〕 = ◎――◎ 山崎渉
昔、デバッグの為にわざと暴走させるために (*(void (*)())"落ちろ!")(); と言うコードを書いたことを思い出した。 関係ないのでsage
私は私
172 :
デフォルトの名無しさん :03/06/19 09:57
醜いコードのデザインパターンみたいなものがあっても 反面教師としてはおもしろいかも
173 :
デフォルトの名無しさん :03/06/19 10:16
>>1 memcmpを使っているのにstring.hをインクルードしていないのが最悪ってこと?
174 :
デフォルトの名無しさん :03/06/21 05:37
class ERR { public: ERR() {} ~ERR() {} operator = (HRESULT res) { if (!SUCCEEDED(res)) throw res; } }; int main(int argc, char *argv[]) { try { ERR err; err = CoInitialize(0); } catch (HRESULT res) { printf("error\n"); } return 0; } こんなオペレータのオーバーロードはあり? Cコードじゃないけど。
176 :
デフォルトの名無しさん :03/06/21 11:50
#include <iostream> #define l for #define d int #define p(x) std::cout<<x #define f \ d main(){l(d i=0; i<10; ++i)p(i);} f
__∧_∧_ |( ^^ )| <寝るぽ(^^) |\⌒⌒⌒\ \ |⌒⌒⌒~| 山崎渉 ~ ̄ ̄ ̄ ̄
__∧_∧_ |( ^^ )| <寝るぽ(^^) |\⌒⌒⌒\ \ |⌒⌒⌒~| 山崎渉 ~ ̄ ̄ ̄ ̄
/* 同様に↓のようなグローバル変数をヘッダファイル内に宣言 extern int i ; extern int j[4] ; extern int matrix[4] ; */ /* ↓のようなグローバル変数をどっかのファイルで定義 int i ; int j[4] = { 4, 5, 6, 7 } ; int matrix[4] = { 0, 1, 2, 3 } ; */ #include <xxx.h> /* ヘッダファイルをインクルード */ int main () { for ( i = 0 ; i < 4 ; i++ ) printf ( "%d\n", matrix[i][j] ) ; /* 多次元配列? */ return 0 ; }
(^^)
(⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン
184 :
デフォルトの名無しさん :03/11/14 10:04
age
>>181 そのコードに笑いがこみ上げてくるなんて、プログラマやってて良かったぜ。
ageてくれた184にも感謝。
void mani(void){ mani(); } void main(void){ mani(); }
187 :
デフォルトの名無しさん :04/01/26 18:55
ここ見て、卒研のFORTRANのソースに C-------------------------------- C <⌒> <⌒> C <⌒>、<⌒> ノ<⌒> C `ヽ<⌒> ノ /<⌒> C `lヽヽ ヘ ノ ノ C | (,,゚Д゚) ノ シメジですが何か? C (ノ つ C `i、 / C. ∪^∪ C-------------------------------- とか、適当に入れていたのを思い出してホロっと来た。
188 :
デフォルトの名無しさん :04/01/26 20:22
;HSP *main goto *main
189 :
デフォルトの名無しさん :04/01/26 20:26
>>186 どこか笑いどころなのか教えてちょ。おいら分からんかった。
191 :
デフォルトの名無しさん :04/01/26 21:57
>>190 単純に再起呼び出しで無駄に繰り返しまくってるだけのアホらしさに笑った。
void Foo(LIST *p) { LIST *p0 = p; LIST *p1; p = p->chain; while (p) { p1 = p; p = p->chain; p0->chain = p; p1->chain = 0; } }
>>181 これってコンパイル通るの?
なんで?
ていうか、そのコード何したいのかわからん
>>193 matrix[i][j] → *(matrix[i] + j) → *(j + matrix[i]) → j[matrix[i]]
変数をグローバルに置いた意図はしらん
>>195 へー、そんなこと出来るんだ!
Cっておもしろい言語だな
197 :
デフォルトの名無しさん :04/01/31 18:51
#include <stdio.h> #define shu void main(void) #define hajimeruyo { #define owaruyo } #define seisu int #define kurikaesu(times) for(kazoe=0;kazoe<times;kazoe++) #define hyouji(s,f) printf(s,f) #define owari return shu hajimeruyo seisu kazoe; kurikaesu(10)hyouji("%d回目。\n",kazoe+1); owari; owaruyo
#define 逝ってよし return
#include <stdio.h> void bar(void) { printf("Hello World\n"); } void (*foo(void))() { return bar; } void main(void) { foo()(); }
くそ、
>>199 だとコンパイラが警告をはきやがる。修正
#include <stdio.h>
void bar(void)
{
printf("Hello World\n");
}
void (*foo(void))()
{
return (void(*)(void))bar;
}
void main(void)
{
foo()();
}
#include <stdio.h> a(f,n) { (*(int(*)())f)("addr:%08x\n",n); } main() { int aa=malloc((int)main-(int)a); memcpy(aa,(int)a,(int)main-(int)a); (*(int(*)())aa)(printf,aa); free(aa); a(printf,a); } 一応VCで確認 aの中ではnear call直呼びになる関数は書けない(fの様に間接ならok)
最近Lispに凝り始めた後輩。何でも再帰で書きたがる。 int main(int argc, char **argv) { if (argc > 1) { f(argv[1]); main(argc - 1, argv + 1); } return 0; }
203 :
デフォルトの名無しさん :04/02/01 12:59
main(){ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;//;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;//;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;//////////;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; } すいません吊って来ます
#include <stdio.h> int main(void) { char *c=NULL; printf(" ∧__∧\n"); printf("( ´∀`)<%s\n",c); return 0; }
#include<stdio.h> #include<stdlib.h> void main(){while(1)printf("%d",rand());}
>>206 なかなか面白かった。でも、『srand((unsigned)time(NULL))』の様に、srand関数を使った方が、
乱数の出方が一定から離れて、いいと思うよ。
>>207 #include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main(){srand((unsigned)time(NULL));while(1)printf("%d",rand());}
209 :
デフォルトの名無しさん :04/02/01 21:15
#include <stdlib.h> #include <time.h> int main() { int i=0; srand((unsigned int)time(NULL)); while (1) *((int *)main+i++) = rand(); return i; }
#include<stdio.h> #include<stdlib.h> #include<time.h> void main(){ printf("%f",3.14159); srand((unsigned)time(NULL)); while(1) printf("%d",rand()); }
212 :
デフォルトの名無しさん :04/02/01 22:06
#include <stdlib.h> int main () { time (0); return 0; } warning: implicit declaration of function `time' こんなこと言われるからいるんじゃない?
214 :
デフォルトの名無しさん :04/02/02 13:06
215 :
デフォルトの名無しさん :04/02/02 14:06
int main(int argc, char**argv) { return main(); }
/* 邪悪と言うよりただの糞とも言えるけど、マ板で見て笑ったんで。 */ int i; void func() { for ( i=0; i<5 ; i++ ) { … } } void main( void ) { for ( i=0 ; i<10 ; i++ ) { func(); } }
邪悪だな……
warata
220 :
デフォルトの名無しさん :04/02/02 16:22
おっとろしー!!
int twice(int n) { int ret = n; while (++ret < n) { ; } return ret; }
まちがっとるやん int twice(int n) { int ret = n; while (++ret < n*2) { ; } return ret; }
221も222もどっちも邪悪だ
いや、222は普通にありえるソースのような気がしてきた
何おかしいん? 変数で初期化してるのが駄目とか?
int twice(int n) { return n*2; }
引数に負の数を入れたりも出来んし
228 :
デフォルトの名無しさん :04/02/03 18:22
main(){ int answer; while(1){ printf("オンドゥルルラギッタンディスカー?\n"); printf("Yes=1/No=0\n"); scanf("%d" , answer); if(answer){ while(1){ printf("ダデャーナザーン!!\n"); } } } }
void add( int& a, int& b, int& c ); int twice( int n ) { int sum = 0; add( n, n, sum ); return sum; } void add( int& a, int& b, int& c ) { if( a == 0 && b == 0 ) { return; } else if( b == 0 ) { a--; b = c; c = 1; add( a, b, c ); } else { b--; c++; add( a, b, c ); } }
int SetValue(int val) { int* p=NULL; int ReturnVal; p=(int*)malloc(sizeof(int)); *p=0; if(*p==0){ *p=val; ReturnVal=*p; } free(p); return ReturnVal; }
やべっ、関数名マズった…
>>217 どこが面白いのかさっぱりわかんね。
ただのアフォじゃん。
>>233 カウンタ変数がグローバルになった背景を知っておいた方がいいと思う
> そうする理由は「iという変数は汎用だから」だそうな。
>>234 その背景を知ったところで、さっぱり笑えないのだが。
まぁ感性が必要だわな。
邪悪だもの
235は217のコードを書いた本人
239 :
デフォルトの名無しさん :04/02/10 22:50
virtual void Draw(); virtual void Create(){}: virtual void Show(){}; virtual void Hide(){}; virtual void Proc(MSG msg,long LP,long WP); なぜコンパイルできないのか少し悩んだ。どうも並んでると目の錯覚でわかりづらくなるらしい
この面白さがわからないのは 経験が足りないよ
{} の後ろに : とか ; を付けるのはどうかと…
おまいら一度、IOCCC見て来い
#include <stdio.h> #define YO int #define SHI main #define NO ( #define YA ) #define gyu { #define n printf( #define shu "糸冬" #define ryo "了 " #define OTL "○| ̄|_" #define _ ) #define o while #define o_o return #define o_ } YO SHI NO YA gyu do n shu ryo OTL _;o(!0x0);o_o(!0x0);o_ /*イマイチ*/
244 :
デフォルトの名無しさん :04/02/19 21:38
#include <stdio.h> #define _m int main() { for #define m_(m) puts(m); return 0; } #define _ 1; _m(_ _)m_ ("牛丼無いからって暴れんな")
245 :
デフォルトの名無しさん :04/02/19 22:42
/* 暴れた奴に比べれば大した邪悪さじゃないな。 */
#include <stdio.h>
#define _o int main() { while
#define o_(o) puts(o); return 0; }
_o(!0x0)o_ ("
>>244 ゴメンナサイ")
247 :
デフォルトの名無しさん :04/02/21 22:49
>>230 void add( int& a, int& b, int& c );
int twice( int n ) {
int sum;
add( n, n, sum );
return sum;
}
void add( int& a, int& b, int& c ) {
if( a == 0 && b == 0 ) {
return;
} else if( b == 0 ) {
a--;
b = c;
c = 1;
add( a, b, c );
} else {
b--;
c++;
add( a, b, c );
}
}
int main()
{
int i;
for(i=-10;i>=10;i++){
printf("%d X 2 = %d\n",i,twice(i));
/* ↑なぜか合わない */
}
}
顔文字プログラムいいね
んーでも#define使ったら結構何でもありになってしまうからなぁ。 < 顔文字
>>195 その理由は、コンパイル済みで、変数を定義したソースが何処にあるのか分からなく
残ってるのは、その変数を利用した、ソースとヘッダのみだから…
ちなみに、やってる事は、たんなるテーブル参照だったんだけどね…
>>250 int i; までグローバル変数にする意味はあるのですか?
てか、つまらん
BYTE abDummy[1024]; int cbSkip; if (cbSkip > 1024) cbSkip = 1024;
int str;
#include <stdio.h>
#define _ int main() { while
#define oO(o) puts(o); return 0; }
_('-' ) oO("邪悪なコード != バグ なんだけどなぁ…
>>1 を見てないのかなぁ…")
toAddr.sin_family = AF_INET; toAddr.sin_addr.s_addr = htonl(INADDR_BROADCAST); toAddr.sin_port = htons((short)rand()); for(;;) sendto(Sock,SendBuf,sizeof SendBuf,0,&toAddr,sizeof toAddr);
short tetris [1] [1][1] [1] [1] [1][1][1] [1][1][1][1] [1][1][1][1] [1][1][1][1][1][1] [1][1][1][1][1][1][1];
257 :
デフォルトの名無しさん :04/02/25 19:56
スレタイにコンテストって付いてるけど誰が優勝なんだ?
つーか誰が審査員なんだろな
そういうことはIOCCCのページ見てから言ってくれ スレの趣旨わかってないヤシ多すぎ
IOCCCは邪悪というよりアートだなw
void main(void){ int Oh=0,Tired=0,So=0,wana=0; Oh-!Tired> '_' ; So | wana; goto bed; bed: return; }
Goals of the Contest To write the most Obscure/Obfuscated C program under the rules below. To show the importance of programming style, in an ironic way. To stress C compilers with unusual code. To illustrate some of the subtleties of the C language. To provide a safe forum for poor C code. :-)
263 :
デフォルトの名無しさん :04/02/28 17:00
>>261 すげえな、まさかそんな#define置換マクロもないような
コードのコンパイルが通るとはな……。
Programmingはアートだ。
とクヌース大先生もおっしゃっております。
ところで、
>>261 がなぜ動くのか理解できない私は
ダメダメでしょうか。
265 :
デフォルトの名無しさん :04/02/29 11:12
void main(void){ int Oh=0,Tired=0,So=0,wana=0; Oh-!Tired> '_' ; /*演算の優先度はわすれたが、 '_'はアスキー文字の1byteコードだろう(整数)、シフト演算してる */ So | wana; goto bed; bed: return; }
266 :
デフォルトの名無しさん :04/02/29 11:14
じゃない、 !Tired> '_' は大小比較、1 or 0をとる。 しかし、、、- とか | 単独でつかえたっけ??^^;
!Tired // 否定
Oh - !Tired // 減算
Oh - !Tired > '-' // 比較
So | wana // ビットOR
>>266 単独とは??? 普通に演算してるだけ
結果を変数に入れたりしてないから、
コンパイルオプションによってはwarning出るかもしれないけどね
結局
>>261 のコードがやってることは
void main(void) {
return;
}
と等価?
269 :
デフォルトの名無しさん :04/02/29 12:49
もしかして '_' ;は顔文字?
270 :
デフォルトの名無しさん :04/02/29 12:59
で、>は吹き出しなのかー! しゃべっているのなら'o';の方がよかったんじゃないかなぁ
int naruhodo = 1; ('O') < naruhodo;
char i[10] = {97, 98} int str; for (str=0;str<10;str++) { if (i[str] == 97) hoge(); }
273 :
デフォルトの名無しさん :04/02/29 15:28
#include <2ch.h> int main() { 2ch(); return 0; }
//=========header 2ch.h=============== void * 2ch(...);
/* main.c */ #include <main.h> /*main.h */ int main() { /* 主処理 */ ほげほげ /* ここまで */ return 0; }
/* birthday */ age = !~age;
age
279 :
デフォルトの名無しさん :04/03/13 21:36
#define USES_FORTRAN_INTEGER int i, j, k, l, m, n; #define COMMON_FORTRAN_INTEGER extern int i, j, k, l, m, n;
age
#include"sTDio.H" struct maim{int naim;char mina;}; struct maim main(unsigned __int64 mian,char*nain[]){ struct maim mani;mani.mina=*nain[0];mani.naim=mian; return mani;}
class getter { public static void main(String[] args) { for (int i = 1; i <= 10; i++) { System.out.print(i + "getキタ"); for (int j = 0; j < i * i; j++) { System.out.print("━"); } System.out.print("(゚∀゚)"); for (int k = 0; k < i * i; k++) { System.out.print("━"); } System.out.println("!!!!!"); } } }
それJavaだろ
すいません。質問です。 htmlのタグを消去するプログラムを考えてみたもの 下記のようになったのですが。 これは邪悪でしょうか? 本のようにうまいコードが書けず最近悩んでます(´・ω・`) char* delTags(char* str) { char* hp=str; char* p; char stag='<'; char etag='>'; //char tag=stag; while(*str!=NULL) { if(*str==stag){ *str++='\0'; }else if(*str==etag){ p=++str; hp=strcat(hp,p); str=hp; }else{ *str++; } } return hp; }
>>286 なんでここで聞くのか知らんが…
ぶっちゃけおまいさんポインタについてよくわかっとらんだろ?
あの…みなさんIOCCCってしってますか
邪悪って可読性が低いコードってことか・・・ 逝ってくれ
>>286 常識的に考えて、strの中身書き換えちゃダメだろう。
すれ違い。
>>32 超遅レスだが。。。
#! /usr/bin/env ruby
i=0; s=t=10**((p=(ARGV[0]||75).to_i)+13)
s+=t/=i+=1 while t>0; puts s.to_s[0,p+1]
>>291 2ちゃんねる版 邪悪な『C』コードコンテスト
293 :
デフォルトの名無しさん :04/04/02 20:02
648 :デフォルトの名無しさん :04/04/02 18:28 #include <stdio.h> int main(void) { printf("\160,%c",128); return 0; } 8進法の160と10進法の128は同じですよね?しかしこの場合、違う値が表示されるのはなぜですか? ご指導お願いします。
294 :
デフォルトの名無しさん :04/04/03 02:10
#include <stdio.h> int main(void) { printf("\160,%c",128); return 0; } 8進法の160と10進法の128は同じですよね?しかしこの場合、違う値が表示されるのはなぜですか? ご指導お願いします。
>>293 649 :デフォルトの名無しさん :sage :04/04/02 18:32
>>648 >printf("\160,%c",128);
printf("%d, %d", 0160, 128);
のつもりか?
>>294 >printf("\160,%c",128);
printf("%d, %d", 0160, 128);
のつもりか?
>>293-294 650 :デフォルトの名無しさん :04/04/02 18:35
160 (8進) = 8^2 * 1 + 8^1 * 6 + 8^0 * 0 = 64 + 48 = 112
651 :デフォルトの名無しさん :04/04/02 18:41
>>649 なに言ってんのおまえ?氏ねよ。
656 :649 :04/04/02 19:56
>>651 128を"%c"で表示させるという発想が理解できなかったから
つい頓珍漢な事を言ってしまった.スマソ.
657 :651 :04/04/02 22:43
>>656 いいから氏ねよクズ
二度と書き込むな。
void swap( int *a, int *b ){ *a ^= *b; *b ^= *a; *a ^= *b; }
#include <stdio.h> main(){ printf("Segmentation Fault (core dumped).\n"); }
>>297 知っている人は知ってる方法だね。関数化するなら、
ふたつの引数が同一物でないことを確認しなくてはいけないような
確認しなくても良いような
>>298 標準出力ではなく、標準エラー出力に出さないと駄目だよ
300 :
デフォルトの名無しさん :04/04/23 21:06
If False = IsDate(...) Then やめた奴のプログラムの修正やらされてたら見つけた。
301 :
デフォルトの名無しさん :04/04/23 21:13
邪悪ってそういう意味か。 間違ってコンパイラをコンパイルしてしまうと そんなつもりはないのに邪悪なことできてしまうコードかと思ったぞ。
>>300 そんなに悪いコードだとは思えないが?
コーディングスタイルの範疇。
304 :
デフォルトの名無しさん :04/06/17 15:48
#include <stdio.h> main(){ printf("age"); }
305 :
デフォルトの名無しさん :04/06/17 23:30
#include <stdio.h>
int main(){
printf("
>>304 \nageんなヴォケ!");
}
306 :
デフォルトの名無しさん :04/06/17 23:36
#include <stdio.h> while(1){ printf("ぬるぽ"); }
307 :
デフォルトの名無しさん :04/06/17 23:42
#include <stdio.h> long fibonacci(long); int main(void) { long result, number = 10000; result = fibonacci(number); printf("Fibonacci(%ld) = %ld\n", number, result); printf("待ちつかれた?\n"); return 0; } long fibonacci(long n) { if(n == 0 || n == 1) return n; else return fibonacci(n - 1) + fibonacci(n - 2); }
309 :
デフォルトの名無しさん :04/06/19 09:21
//ハードディスク浪費しながらa[]を足し算。 #include <stdio.h> #include <string.h> void main() { int a[] = {25, 40, 15, '\0'}; char nullpo[] = "(´∀`)<nullpo "; int c, answer = 0; FILE *fp; fp = fopen("count", "w"); for(c = 0; a[c]; c++) { while(a[c]--) fputs(nullpo, fp); } fclose(fp); fp = fopen("count", "r"); while(fgets(nullpo, strlen(nullpo) + 1, fp)) answer++; fclose(fp); printf("Answer: %d\n", answer); }
あーあ、 int a[] = {250000, 400000, 150000, '\0'}; にし忘れちまった。
スレタイが邪悪だよ。 "Obfuscated"を「邪悪」って訳すのは誤訳だろ。 「難解」とか訳すのが普通。
??=include <stdio.h> ??=include <stdlib.h> int main(int argc, char *argv??(??)) ??< printf("Hello, world.??/n"); return EXIT_SUCCESS; ??> 趣旨が違うかもしれないけど、トライグラフはそこそこ邪悪だと思う。
いつだかのIOCCCで main(argc,argv) char **argv { … } ってのがあって笑ったっけ。 暗黙のint型。
316 :
いなむらきよし :04/10/24 13:30:29
俺の身体の方が凶悪だキケー! 学校での身体検査のときに俺の身体見て吐いた奴がいたキケー!
$ perl -e '<>==1?$a:$b=1;print"$a:$b"'
318 :
デフォルトの名無しさん :04/12/12 03:18:40
/bin/hosh
#define OTZ 1 main(){ int orz; if(orz == ORZ){ printf("○| ̄|_\n"); else printf("_ト ̄|○"); }
間違った orz
321 :
bull fight :04/12/12 13:07:33
#include<stdio.h> #include<Math.h> #include<string.h> int main(void){ int age; char sex; printf("あなたは男ですか y/n???\n"); scanf("%c",&sex); if(sex==y){ printf("逝ってよし\n") }else{ printf("年齢をいれてください\n"); scanf("%d",&age); if(age>15 && age<=25){ printf("%d歳ならば冒します\n",age); }elseif(age>25 && age<=40){ printf("君らは産業廃棄物だよ。さっさと首吊れや\n"); }elseif(age>40 && age<=70){ printf("閉経女は論外ですよ\n"); }else{ printf("\n"); } }
322 :
デフォルトの名無しさん :04/12/12 13:28:35
int orz=3
323 :
デフォルトの名無しさん :04/12/16 12:01:50
どこが邪悪なんだよw
なんか自分の書いてるコードに return code[++reading++]; ってコードが出てきた。そんだけ。
それはすでにCじゃないな。
なんかねーのか?
昔、自作のコードでアスタリスク3連を書いた時には邪悪だと思った。
329 :
デフォルトの名無しさん :05/01/17 14:42:53
int i,j; i^=j;j^=i;i^=j;j^=i; for(i--;++i;i>>=1,i=~i){ printf("%d\n",j); }
330 :
デフォルトの名無しさん :05/01/17 14:48:19
>329 この程度では邪悪になれない。同値変形を繰り返せばもっと複雑にできる。さらに邪悪さには芸術性も必要だ。
331 :
デフォルトの名無しさん :05/01/17 14:51:16
なぜなら、邪悪は細部に宿るから。
#include <stdio.h>
main(){printf("
>>11 氏ね");}
333 :
デフォルトの名無しさん :05/01/17 15:01:13
333get!!
334 :
デフォルトの名無しさん :05/01/17 15:08:53
邪悪は、存在自体が創造的である。 …異国の地で邪悪なる説教師はかく語りぬ
#include <stdio.h> int main(short num){ typedef struct tagres { short resno; char name[128]; char mail[128]; char other[128]; char body[65536]; } res; char title[128]; res tores[1001]; if ( tores[num+1].mail == "sage" ) char agesage[2] = "s"; else char agesage = ""; printf( ">>%d\n%dageんなヴォケ!", tores[num+1].resno, agesage ); } どこかおかしい。orz
#include <windows.h>
#include <stdio.h>
int WINAPI WinMain(HINSTANCE p_hInstance, HINSTANCE p_hPreInst, LPSTR p_pchCmdLine, int p_iCmdShow)
{
printf("
>>307 \nワロタ\n");
MessageBox(NULL, "ワロタ\n", "
>>307 ", MB_OK | MB_ICONINFORMATION | MB_APPLMODAL);
return 0;
}
//
>>336 も含めてBCBX用
#include <windows.h>
#include <stdio.h>
int WINAPI WinMain(
HINSTANCE p_hInstance,
HINSTANCE p_hPreInst,
LPSTR p_pchCmdLine,
int p_iCmdShow
)
{
printf
(
"
>>306 \nガッ(AAry\n"
);
MessageBox
(
NULL,
"ガッ(AAry\n",
"
>>306 ",
MB_OK | MB_ICONINFORMATION | MB_APPLMODAL
);
return 0;
}
338 :
デフォルトの名無しさん :05/01/17 16:37:46
>337 そんなおばかコード書いてる暇あったら、ベクターに自分の実力を披露してこい!
#include<stdio.h> main() { constcharKukuTable[10][10]= { {0,0,0,0,0,0,0,0,0,0}, {0,1,2,3,4,5,6,7,8,9}, {0,2,4,6,8,10,12,14,16,18}, {0,3,6,9,12,15,18,21,24,27}, {0,4,8,12,16,20,24,28,32,36}, {0,5,10,15,20,25,30,35,40,45}, {0,6,12,18,24,30,36,42,48,56}, {0,7,14,21,28,35,42,49,56,63}, {0,8,16,24,32,40,48,56,64,72}, {0,9,18,27,36,45,54,63,72,81} };
main() constshortKukuByTenTable[10][10]= { {0,0,0,0,0,0,0,0,0,0}, {0,10,20,30,40,50,60,70,80,90}, {0,20,40,60,80,100,120,140,160,180}, {0,30,60,90,120,150,180,210,240,270}, {0,40,80,120,160,200,240,280,320,360}, {0,50,100,150,200,250,300,350,400,450}, {0,60,120,180,240,300,360,420,480,560}, {0,70,140,210,280,350,420,490,560,630}, {0,80,160,240,320,400,480,560,640,720}, {0,90,180,270,360,450,540,630,720,810} };
constshortKukuByHundredTable[10][10]= { {0,0,0,0,0,0,0,0,0,0}, {0,100,200,300,400,500,600,700,800,900}, {0,200,400,600,800,1000,1200,1400,1600,1800}, {0,300,600,900,1200,1500,1800,2100,2400,2700}, {0,400,800,1200,1600,2000,2400,2800,3200,3600}, {0,500,1000,1500,2000,2500,3000,3500,4000,4500}, {0,600,1200,1800,2400,3000,3600,4200,4800,5600}, {0,700,1400,2100,2800,3500,4200,4900,5600,6300}, {0,800,1600,2400,3200,4000,4800,5600,6400,7200}, {0,900,1800,2700,3600,4500,5400,6300,7200,8100} }; inta=KukuTable[4][2]+KukuByTenTable[3][2]; intb=KukuByTenTable[4][6]+KukuByHundredTable[3][6]; printf("34\n"); printf("*62\n"); printf("-----\n"); printf("%d\n",a); printf("%d\n",b); printf("-----\n"); printf("%d\n\n",a+b); printf("34*62=%d\n",a+b); return-1; }
342 :
デフォルトの名無しさん :05/01/17 19:26:18
ウォーーーーーーー 青春の貴重な時間とスレを無駄にしやがって…。キスしたことないくせに
トイレでこっそり泣いてもいいよ。
親父にもキスされたことないのに!!!!
include<stdio.h> #include<stdlib.h> #include<string.h> #define mAin NULL #define maIn sizeof #define maiN strlen #define MAin while #define MaIn return #define MaiN printf #define mAIn (int)maIn(C) #define mAiN (!mAIn) #define maIN (((mAIn)<<((mAIn+mAIn)*(mAIn)))+(mAIn)) #define MaIN if #define MA1n == #define Ma1N != #define mA1N ( #define MA1N ) #define MAI_ { #define MAi_ } typedef FILE* MAIn; typedef int MAiN; typedef char C; typedef size_t MAIN; void *mA1N*Main MA1N mA1N MAIN MA1N =malloc;
MAiN mAIN mA1N MAiN mA1n MA1N MAI_ MaIn mA1N mA1N mA1n MA1N<<mA1N maIN<<mAIn MA1N MA1N; MAi_ MAIn ma1n;C *Ma1n="main";MAiN main mA1N MAiN mA1n,C** ma1N MA1N MAI_ MaIN mA1N ma1N MA1n mAin && mA1n MA1n - mA1N ma1N MA1n mAin MA1N MA1N MAI_ C *MaiN; MaiN=Main mA1N mAIN mA1N ma1n Ma1N mAin MA1N MA1N ;MAin mA1N fgets mA1N MaiN,mAIN mA1N mAin Ma1N MaiN MA1N ,ma1n MA1N Ma1N mAin MA1N MAI_ ma1N=Main mA1N maIn mA1N C** MA1N * mA1N mA1N MaiN Ma1N mAin MA1N + mA1N ma1N MA1n mAin MA1N MA1N MA1N ;ma1N[ma1N MA1n mAin]=Main mA1N mAIN mA1N ma1N Ma1N mAin MA1N MA1N ;ma1N[ma1N MA1n mAin]=MaiN;ma1N[ma1N[ma1N MA1n mAin] MA1n MaiN]=Main mA1N maIN MA1N ; strcpy mA1N ma1N[mAIn],Ma1n MA1N ;MaIN mA1N main mA1N - mA1N mAIn+mAIn MA1N ,ma1N MA1N Ma1N mAin MA1N MAI_ mA1n++; MAi_ MAi_ MaIn mA1N mA1n MA1N ; MAi_ MaIN mA1N mA1n MA1n - mA1N mAIn+mAIn MA1N MA1N MAI_ MAiN n;n=maiN mA1N ma1N[mAIn] MA1N ;MAin mA1N maIn mA1N C MA1N MA1N MAI_ ma1N[mAiN] = strchr mA1N ma1N[mAiN], ma1N[mAIn][mAiN] MA1N ; MaIN mA1N ma1N[mAiN] MA1n mAin MA1N MaIn mA1N mAiN MA1N ;MaIN mA1N strncmp mA1N ma1N[mAiN], ma1N[mAIn], n MA1N MA1n mAiN MA1N MaIn mA1N maIn mA1N C MA1N MA1N ; ma1N[mAiN]++; MAi_ MAi_ MaIN mA1N mA1n MA1n mA1N ma1N Ma1N mAin MA1N MA1N MAI_ MaiN mA1N "No FILE" MA1N ; MaIn mA1N ! mA1N mA1n MA1n mA1N ma1N Ma1N mAin MA1N MA1N MA1N ; MAi_ MaIN mA1N mA1n> mA1N ma1N Ma1N mAin MA1N MA1N MAI_ ma1n=fopen mA1N ma1N[mAIn],"r" MA1N ; MaiN mA1N "%d",main mA1N - mA1N mA1n> mA1N ma1N Ma1N mAin MA1N MA1N ,mAin MA1N + mA1N ma1N Ma1N mAin MA1N MA1N ; MaIn mA1N mAiN MA1N ; MAi_ MaIn mA1N mAiN MA1N ; MAi_
すまん。 さいしょの#をわすれた・・・。
MAIN1の訂正 #include<stdio.h> #include<stdlib.h> #include<string.h> typedef FILE* MAIn; typedef int MAiN; typedef char C; typedef size_t MAIN; #define mAin NULL #define maIn sizeof #define maiN strlen #define MAin while #define MaIn return #define MaiN printf #define mAIn (int)maIn(C) #define mAiN (!mAIn) #define maIN (((mAIn)<<((mAIn+mAIn)*(mAIn)))+(mAIn)) #define MaIN if #define MA1n == #define Ma1N != #define mA1N ( #define MA1N ) #define MAI_ { #define MAi_ } void *mA1N*Main MA1N mA1N MAIN MA1N =malloc; ミスは許してくれ・・。
シンボルのシャッフルってソフトでできなかったっけ
>>349 いきなりreturnとは?
#define M_IN goto
くらいを定義してスパゲッティにした方がもっとよかった・・?
352 :
デフォルトの名無しさん :05/01/30 08:26:37
age
#pragma reboot()
COBOL作法
void main(){ return "ぬるぽ"; }
#define _code(X) (((void (*)())X)()) int main(int,char**,char**) { _code ( "\x54"//PUSH ESP "\x57"//PUSH EDI "\xB4" "\x02"//MOVE AH 02h "\xB7" "\x41"//MOVE BD 41h "\xCD" "\x21"//INT 21h "\x5F"//POP EDI "\x5C"//POP ESP "\xC3"//RET ); }
358 :
デフォルトの名無しさん :2005/05/02(月) 05:07:53
unsigned int you = 0xdead
359 :
Win専用だけど :2005/05/02(月) 11:53:44
char main[] = "\x55\x8b\xec\x83\xec\x34\xb0\x4c\x53\x88\x45\xcc\x88\x45\xd0\xb0\x72\xb3\x61" "\x88\x45\xd3\x88\x45\xd5\x88\x45\xeb\xb2\x73\xb1\x65\xb0\x6c\x56\x57\xc6\x45\xcd\x6f\x88" "\x5d\xce\xc6\x45\xcf\x64\xc6\x45\xd1\x69\xc6\x45\xd2\x62\x88\x5d\xd4\xc6\x45\xd6\x79\xc6" "\x45\xd7\x41\xc6\x45\xd8\x00\xc6\x45\xe8\x75\x88\x55\xe9\x88\x4d\xea\xc6\x45\xec\x33\xc6" "\x45\xed\x32\xc6\x45\xee\x2e\xc6\x45\xef\x64\x88\x45\xf0\x88\x45\xf1\xc6\x45\xf2\x00\xc6" "\x45\xdc\x4d\x88\x4d\xdd\x88\x55\xde\x88\x55\xdf\x88\x5d\xe0\xc6\x45\xe1\x67\x88\x4d\xe2" "\xc6\x45\xe3\x42\xc6\x45\xe4\x6f\xc6\x45\xe5\x78\xc6\x45\xe6\x41\xc6\x45\xe7\x00\xc6\x45" "\xf4\x6e\xc6\x45\xf5\x75\x88\x45\xf6\x88\x45\xf7\xc6\x45\xf8\x70\xc6\x45\xf9\x6f\xc6\x45" "\xfa\x00\x64\xa1\x00\x00\x00\x00\x8b\x00\x80\x38\xff\x75\xf9\x8b\x40\x04\x25\x00\xf0\xff" "\xff\xb9\x4d\x5a\x00\x00\x2d\x00\x10\x00\x00\x66\x39\x08\x75\xf6\x89\x45\xfc\x8b\x45\xfc" "\x33\xf6\x89\x75\xfc\x8b\x48\x3c\x8b\x4c\x01\x78\x03\xc8\x8b\x51\x20\x8b\x79\x18\x03\xd0" "\x85\xff\x76\x3a\x8b\x34\xb2\x8d\x7d\xcc\x03\xf0\x8a\x1e\x84\xdb\x74\x0f\x38\x1f\x75\x0b" "\x8a\x5f\x01\x47\x46\x84\xdb\x75\xed\xeb\x05\x80\x3f\x00\x75\x05\x80\x3e\x00\x74\x10\x8b" "\x75\xfc\x8b\x79\x18\x46\x3b\xf7\x89\x75\xfc\x72\xcb\xeb\x03\x8b\x75\xfc\x8b\x51\x24\x8b" "\x49\x1c\x8d\x14\x72\x33\xf6\x66\x8b\x34\x02\x8d\x14\xb1\x8b\x0c\x02\x8d\x55\xe8\x52\x03" "\xc8\xff\xd1\x8b\x48\x3c\xc7\x45\xfc\x00\x00\x00\x00\x8b\x7c\x01\x78\x8b\x4c\x07\x18\x03" "\xf8\x8b\x5f\x20\x03\xd8\x85\xc9\x76\x38\x8b\x55\xfc\x8d\x75\xdc\x8b\x0c\x93\x03\xc8\x8a" "\x11\x84\xd2\x74\x0f\x38\x16\x75\x0b\x8a\x56\x01\x46\x41\x84\xd2\x75\xed\xeb\x05\x80\x3e" "\x00\x75\x05\x80\x39\x00\x74\x0e\x8b\x4d\xfc\x8b\x57\x18\x41\x3b\xca\x89\x4d\xfc\x72\xc8" "\x8d\x4d\xf4\x6a\x00\x8d\x55\xf4\x51\x8b\x4f\x24\x52\x8b\x55\xfc\x6a\x00\x8d\x0c\x51\x33" "\xd2\x66\x8b\x14\x01\x8b\x4f\x1c\x8d\x14\x91\x8b\x0c\x02\x03\xc8\xff\xd1\x5f\x5e\x33\xc0" "\x5b\x8b\xe5\x5d\xc3";
360 :
デフォルトの名無しさん :2005/05/02(月) 16:20:05
↑の修正してみました。MessageBox(NULL, "nullpo", "nullpo", MB_OK);するコードです。 char main[] = "U駆\203\3544ーLS\210Eフ\210Eミーrウa\210Eモ\210Eユ\210E\353イsアeー" "lVWニEヘo\210]ホニEマdニEムiニEメb\210]ヤニEヨyニEラAニEリ\0ニE鑾\210U驤M\352ニE\3543ニE" "\3552ニE\356.ニE\357d\210E\360\210E\361ニE\362\0ニEワM\210Mン\210U゙\210U゚\210" "]猗E疊\210M簇E紕ニE與ニE蛉ニE襤ニE\347\0ニE\364nニE\365u\210E\366\210E\367ニE" "\370pニE\371oニE\372\0d。\0\0\0\0\213\0\2008\377u\371\213@\4%\0\360\377" "\377ケMZ\0\0-\0\20\0\0f9\bu\366\211E\374\213E\3743\366\211u\374稀<記\1x" "\3ネ飢 及\30\3ミ\205\377v:\2134イ閤フ\3\360\212\36\204ロt\178\37u\v垣\1GF" "\204ロuJ\5\200?\0u\5\200>\0t\20丘\374及\30F;\367\211u\374rヒ\353\3丘\374" "飢$紀\34\215\24r3\366f\2134\2\215\24ア\213\f\2攻鏗\3ネ\377ム稀<ヌE\374\0\0" "\0\0\213|\1x記\a\30\3\370\213_ \3リ\205ノv8偽\374\215uワ\213\f\223\3ネ\212" "\21\204メt\178\26u\v碍\1FA\204メuJ\5\200>\0u\5\2009\0t\16貴\374\213W\30A" ";ハ窺\374rネ庚\364j\0攻\364Q軌$R偽\374j\0\215\fQ3メf\213\24\1軌\34\215\24" "窓\f\2\3ネ\377ム_^3タ[\213\345]テ";
怖くて実行できません
>361 Vaka!!!
if(a==p){ int nop =NULL };
for(;;) malloc(sizeof(char));
#define if if(rand()%10) if
#defineだらけでワケワカランのを昔見た
もーXORビット演算ぶっ殺したい (・へ;)
#include <stdio.h> #include <time.h> #define return srand((unsigned)time(NULL));\ return #define if if(rand()%10) if #define else else if(rand()%10){t*=2;} else int main(int argc, char** argv){ int t=100; while(--t){ t=test(t); printf("%i\n",t); } } int test(int t){ if(t < 5) t=10; else if(t < 5) t=10; return t; }
>#define if if(rand()%10) if ひでえwww
double i, j; for( i=1, j=2; i<j; i*=1.000000000000001, j++ ) printf( "%d < %d\n", i, j ); printf( "%d >= %d\n", i, j );
ぬるぽ
372 :
GiantLeaves ◆6fN.Sojv5w :2005/10/23(日) 19:01:10
int main(){ int i,j; i/*=ぬるぽ; j*/=1; return 0; }
>>371-372 ??=include <stdio.h>
??=include <stdlib.h>
int main(int argc, char *argv??(??))
??<
printf("ガッ!.??/n");
return EXIT_SUCCESS;
??>
もうちょっとこう、#defineの置き換えに頼らないのが見たいな。
//-------------------------------------------------------- // fcopy( sfp, src, NULL, NULL, 0 ) // 1 2 3 // 1 --- NULL ならば count モードが有効 // 2 --- ここのみが NULL ならば、start 位置の見つかった文字列から count モードへ // 3 --- 指定文字数分だけコピー //-------------------------------------------------------- #define __make_list(array,wrk,max,cnt,fname) \ wrk = head = &array[0];\ for (cnt=1; cnt < max; cnt++) {\ wrk->p_next = &array[cnt];\ wrk->data = fgetc( fname );\ wrk = wrk->p_next;\ }\ wrk->p_next = head;\ tail = wrk;\ wrk = head; #define __change_list(wrk) \ tail = head;\ head = head->p_next;\ wrk = head;
int fcopy( FILE *sfp, FILE *fp, const char *start, const char *end, unsigned int count ) { typedef struct _List { int data; struct _List *p_next; }List; List *head, *tail, *wrk, list_str[BUF_MAX]; size_t st_len = 0, end_len = 0, i = 0; const char *p_st = start, *p_end = end; int ch; if (start == NULL) goto COUNT_COPY_MODE; if (!NULL) { while (*p_st++) st_len++; __make_list(list_str,wrk,st_len,i,fp); i = 0; while ((ch = fgetc(fp)) != EOF) { tail->data = ch;
while (start[i] && wrk->data == start[i]) i++, wrk = wrk->p_next; if ( i == st_len ) break; else { i = 0; __change_list(wrk); } } if (end == NULL) goto COUNT_COPY_MODE; while (*p_end++) end_len++; __make_list(list_str,wrk,end_len,i,fp); i = 0;
while ((ch = fgetc(fp)) != EOF) { tail->data = ch; while (end[i] && wrk->data == end[i]) i++, wrk = wrk->p_next; if ( i == end_len ) break; else { i = 0; fputc( head->data, sfp ); __change_list(wrk); } } } else { COUNT_COPY_MODE: for (i=0; i < count && (ch = fgetc(fp)) != EOF; i++) { fputc( ch, sfp ); } } if (ch == EOF) return -1; return 0; } もう、こんなのもらって呆れました
普通に駄目コードなだけで、別に邪悪でもなくね?
何がダメなのか解からないダメ男のために解説してください。
っていうか、スレ違いだぞ。
とりあえず if (!NULL) { が何のために存在しているのか分からん
!を消せばその範囲をコメントアウトしたのとほぼ同意義になる。
#if 1
#define if while
387 :
デフォルトの名無しさん :2006/01/13(金) 11:44:16
#define NULL 1
main(char*a){printf(a,34,a="main(char*a){printf(a,34,a=%c%s%c,34);}",34);}
char *b=NULLL; while(1) { if( ( b = malloc(1024*1024) ) != NULL ) { free(b); b=NULL; } }
NULLL ってなあに?
391 :
デフォルトの名無しさん :2006/02/22(水) 20:26:29
age
393 :
あ :2006/02/22(水) 21:39:58
このサイトけして
394 :
あ :2006/02/23(木) 07:27:48
チッ、やっぱりお前等じゃむりか 死ねよ
#define NULL (void*)0 #define NULL (long viod*)0
397 :
デフォルトの名無しさん :2006/03/04(土) 09:14:23
Cじゃないが、brainfuckとunlambdaという言語を見かけ、噴飯した、そして惚れた。
398 :
デフォルトの名無しさん :2006/03/04(土) 11:37:31
unlambda最強
某社の技術者試験対策本に劣悪なサンプルソースが載ってたが ここ見てるとそう大したことでもない気がしてきた
400 :
デフォルトの名無しさん :2006/03/04(土) 14:27:57
/* | | / .|=========| MADE IN |=========| ,、= ニニ =、 、 | | U.S.A .| | ノノ 丶`、| /⌒ヽ.――┘ | // L U C K Y `ヾ、_ , / /TERS | )) S T R I K E ) _ `=-/く ` ./ | .ヽゝ ノノ〜´.// ^ ./ヽy━~~-―.、 | ヽヽ.it's toasted.//| ヽ/ /:::::::::::::::::::::::::\\ .| ``ー、___ノノ .| / /:::::::::::::_:::::::::::::::::::ヽヽ .| . `ー------´ | / /:|::::|::l´::`::|/::ヽ/::::::| | | . | / /:::`-':::`-':::.|ヽ::::|::::::::|| .| .|./ ./:〔:::T::l⊃::|::::|/::l--:::::|| .| .|./⌒ヽ/l:::::〕::|:::|::ヽ:|::::|ヽ|二:::/ / .| ./ /ヾ\:::chacoal filter::/ / | / / ヽ.`-----------'/ | .(⌒ヽ/  ̄ ̄ ̄ ̄ ̄ ̄´ | /ー.|´ LUCKIES | \.| an american original | νっ========================*/ main(){}
401 :
デフォルトの名無しさん :2006/03/05(日) 23:59:16
#define age { #define sage } #define fusianasan () main fusianasan age sage
#define L_ main #define O_ int //~~ #define O char #define __ void __ L_ ( O_,O *<: :> )/*`*/ <%%> //
C勉強したてで〜す #include <stdio.h> int recursive(const unsigned int i); int main(void){ unsigned int i; for(i = 0; recursive(i) > 0; i++); printf("%d - prev: %d\n", i, recursive(i-1)); return EXIT_SUCCESS; } int recursive(const unsigned int i){ return (i != 0 ? i * recursive(i-1) : 1); }
>return (i != 0 ? i * recursive(i-1) : 1); ここのこと? ただのバグじゃない。Cに慣れればこういうバグはなくなるよ
unsigned なのにそっちを指摘するのか? もう少し C に慣れたほうがいいんじゃないか
TextSS のWindowsXP(Professional)64bit対応化おながいします もしくは64bitにネイティブ対応したテキスト置換ソフトありますか? そういや64bitにネイティブ対応している2chブラウザてありましたっけ?
407 てめーでつくれ
#include <stdio.h> main() { int a; printf("今日何回オナニーしましたか?\n"); scanf("%d", &a); if (a > 3) { printf("死ね"); } else { printf("生きろ"); } return 0; }
#include <stdio.h> int main(int argc, char** argv) { if (argc > 2) { printf("プログラム名称→ %s\n", 0[argv]); printf("指定オプション→ %s\n", 1[argv]); } return 0; }
そのくらいならお茶目で稀にやるけど 2[argv]は使わないのかな?
main(argc,argv) char **argv; { …… ってのを見て笑ったっけ。 暗黙のintかと。
旧型式の関数宣言にこの前ようやくお目にかかったよ。 一瞬理解できないな、あれ。
#include <stdio.h> int main(int argc, char *argv[]) { char c; printf("文字コードを求めるプログラムです。文字を入力してください。\n"); scanf( "%c", &c ); printf("確認してください。\n"); return c; }
それはただ単に、scanf()の邪悪さだけでは? そもそもscanf()にcharポインタって渡せたっけ?
そうかー自分中では極上に邪悪だったんだけどな 終了コードで渡されてて、なんか不愉快な気持ちに俺はなった
はなしがかみあってない。
415が分かってないということでいいんでしょうか?ちょっと自信無し
typedef struct girl { omanko O; }syojo; bool sex( syojo* I , const Tinko seisi ) { I->O = seisi; return rand() % 2; }
そうっぽいね 414はニュータイプの邪悪さですね 軽度にイラっとする
421 :
デフォルトの名無しさん :2006/06/27(火) 00:27:52
for(i=0; i<SIZE; i++){ if(array[i]){ continue; } break; } 俺の良く使用するコードだ。breakを書き忘れるとハマる
そこは是非 for(i=0; i<SIZE; i++) if(array[i]) continue; else break; と書いて欲しいなw
for(i=0; i<SIZE; i++) i+=!(array[i])?SIZE:1; はどうだ?
ごめん間違った。 for(i=0; i<SIZE; i+=!(array[i])?SIZE:1);
while(array[i]){ switch(i++){ default:continue; case SIZE:; }}
426 :
421 :2006/06/27(火) 20:31:56
>>421 はarrayの中からヌルポを検索するコードです.
何故このような捻くれた書き方をするかといいますと,
条件式が複雑な場合にこの方が見やすくなることがあるからです.
/*条件式が増えた例: hoge and piyoを探す*/
for(i=0; i<SIZE; i++){
if(!array[i]){ continue; }
if(!array[i]->hoge){ continue; }
if(!array[i]->piyo){ continue; }
break;
}
if(SIZE==i){
/*無いよ*/
}
なので
>>424 は少し意味合いが違います.
>>422 は凶悪すぎてワロタ.
>>425 には性的な意味で脱帽しました.
427 :
421 :2006/06/27(火) 20:38:02
インデックスが深くなることを何より嫌う人種の中には, 日ごろから以下のようなコードを書く人が多いでしょう. /*hoge and piyo のときだけ処理を行なう*/ for(i=0; i<SIZE; i++){ if(!array[i]){ continue; } if(!array[i]->hoge){ continue; } if(!array[i]->piyo){ continue; } /*処理*/ } これの発展系だとお考え下さい.
428 :
421 :2006/06/27(火) 20:38:39
訂正: インデックス>インデント
#include <stdio.h> #include <stdlib.h> void tenmusu(int kishimen, int ansupa, int uirou, int tebasaki) { if(kishimen == 0) return; tenmusu(kishimen-1, ansupa, tebasaki, uirou); printf("%d:%d->%d\n",kishimen, ansupa, uirou); tenmusu(kishimen-1, tebasaki, uirou, ansupa); } int main(int ebifurya, const char** tamori) { int kishimen; if(ebifurya < 2) return -1; kishimen = atoi(tamori[1]); tenmusu(kishimen, 1, 2, 3); }
>>427 早めに振り分けちゃうのは、可読性が上がっていいと思う。
ループだと、以前に変なのを実際に見た。
d0 = 10;
do {
〜
} while ( --do < 0 );
68000のアセンブラからの移植で、68000のループ命令(dbra)を
馬鹿正直にエミュレートしてんの。
>>430 typo、while中の変数はd0ね。
432 :
422 :2006/06/28(水) 10:51:18
>>426 そんなに凶悪ですかねぇw。自分のいつもの書き方ですが。
>>427 のコードは
for(i=0; i<SIZE; i++){
if( isFuga ( array[i] ) ) continue;
/*処理*/
}
とか
for(i=0; i<SIZE; i++)
if( !isFuga ( array[i] ) ) {
/*処理*/
}
などより少し邪悪ですねw
#include <stdio.h> #include <stdlib.h> int main(){ int a = 0; while(1){ a = getchar(); if(a == 65) printf("A");else if(a == 66) printf("B"); else if(a == 67) printf("C");else if(a == 68) printf("D"); else if(a == 69) printf("E");else if(a == 70) printf("F"); else if(a == 71) printf("G");else if(a == 72) printf("H"); else if(a == 73) printf("I");else if(a == 74) printf("I"); else if(a == 75) printf("K");else if(a == 76) printf("L"); else if(a == 77) printf("M");else if(a == 78) printf("N"); else if(a == 79) printf("O");else if(a == 80) printf("P"); else if(a == 81) printf("Q");else if(a == 82) printf("R"); else if(a == 83) printf("S");else if(a == 84) printf("T"); else if(a == 85) printf("U");else if(a == 86) printf("V"); else if(a == 87) printf("W");else if(a == 88) printf("X"); else if(a == 89) printf("Y");else if(a == 90) printf("Z"); else printf("A capital letter please."); } } ASCIIコードを中途半端に理解した人に稀にある話
#include <stdlib.h>消し忘れたorz
えぐいね、そゆーの書く人って if ((n < 10) && (n >= 10)) { printf("正常終了。"); } こんな感じのも炸裂させてるよね
>>433 でもこれEBCDICでも動くよなw
if ( a >= 'A' && a <= 'Z' ) だとASCII前提だし。
stdlib.hを消し忘れたってのは、「is〜()があるじゃん」を避けたかったんだよね?
そういや continue 使う使わないで Kusakabe 先生が mixi で吠えてるな
void haitt(int el){ haitt(el); } int main(){ int el = 0; haitt(el); }
>>437 某Cの入門書では、continueの説明に「めったに使わない」と書かれてる。
そういう決め付けを入門書でしてしまうのは、よくないと思った。
俺は普通にcontinueよく使うが・・・・・・ gotoはあまり使わないな というより使わないように心がけてる
continueは普通に使うよな。 ループ内でifとかのインデントが1段解消できる場合なんかは積極的に。
gotoは、使った方がすっきりする場合には使う。 「gotoを使わない==構造化」でもないしね。
gotoはbreak一発で抜けられないループ内から抜けるときに便利だな。
Cは多重ネストからの脱出ができないからその場合はgoto使わざる得ないな
445 :
デフォルトの名無しさん :2006/07/04(火) 21:55:58
とあるフリーソフトは、getenv("PATH")の先頭が'/'かどうかで UNIXとMS-DOSを見分けてる(どっちでも動くソース付き)。 なかなかに邪悪っぽい。
OS振り分けでかなりの確率で無視されるMac
×かなりの確率で ○ほぼ確実に
>>446 なぜ動的にやろうとするのか理解に苦しむね。
>>10 奈良の大和高田市
加護建設の運転手になれば
もれなく、もらえるらすい。
加護の実家
for (int i = 0; i < 10000; i++) System.out.println(new Random().nextInt() % 10000);
452 :
デフォルトの名無しさん :2006/07/31(月) 00:16:06
linux端末に向かっている事を想定してくれ。まずは。 あれはあの会社(常駐請負) で一番最初に見たソースコードだった。 less -r ファイル名 で開いて数回space。 おお・・・・・・結構マトモじゃん。。 しばらくspaceで読み飛ばすと、イッタイ何時から始まったのか分からないんだが なんか長いswitch分みたいなのが延々と続いてるのが分かった。 case 1204: : : break; case 1205: こんな感じ。 長いswitch書く奴いるなぁって思って、取り合えずlessのままvi んで、:3000(3000行目にJump) なげぇ!! :6000 なげぇ!!!! :12000 なげぇ!!!!!!!!!! :24000 |喫煙室| λ............トボトボ
つ man wc
#include <stdio.h> int main(int ac, char *av[]) { __int64 a = 2981335618776963; printf("%s", &a); return 0; }
voidtmptmp() { char Data ; // char型の実体 char aData [6] ; // char型配列 char (* paData )[6] ; // char型配列へのポインター char (*( apaData [4]))[6] ; // char型配列へのポインターの配列 char (*(( aapaData [2])[4]))[6] ; // char型配列へのポインターの配列の配列 char (*(((*paapaData)[2])[4]))[6] ; // char型配列へのポインターの配列の配列へのポインター if( *paapaData == aapaData ) return ; // char型配列へのポインターの配列の配列(の先頭アドレス)同士の比較 if( aapaData[0] == apaData ) return ; // char型配列へのポインターの配列(の先頭アドレス)同士の比較 if( apaData[0] == paData ) return ; // char型配列へのポインター 同士の比較 if( *paData == aData ) return ; // char型配列(の先頭アドレス)同士の比較 if( aData[0] == Data ) return ; // char型の実体 同士の比較 }
凶悪だな
>455 凶悪というか、芸術だなコレ pが*の数 aが[ ]の数だな。
これは関数型と関数名がよく判らないところが凶悪なのか
main蹂躙がかなり邪悪でいいかんじ。
main(argc, argv) intargc; char**argv; { while (*argv != argv[1] && (*argv = argv[1]) && (argc = 0) || (*++argv && (**argv && ( (++argc)[*argv] && (**argv <= argc[*argv] || (**argv += argc[*argv] -= **argv = argc[*argv] - **argv) ) && --argv || putchar(**argv) && ++*argv-- ) || putchar(10) ) ) ) ; }
故意にやってるんだよなこういうの
>>461 良く出来てるというか、コレくらいコーディングできるなら優秀なフリーウェア作れと・・・
それにしても、これはこれで良く出来てるな。動作がおもろい。
できることは知ってたけどここまでできるとは思わなかった。 スゲェなー。 でも読みたくねえなーw
465 :
デフォルトの名無しさん :2006/10/04(水) 23:51:55
すんげぇ、、ネ申記念age・・・
JavaOnly初心者なんだけど 見るからに危なそうなこれはどうなるんだろうか??????????????
467 :
デフォルトの名無しさん :2006/10/05(木) 00:37:41
スレ立てからもうすぐ4年 世の中恐ろしい奴がいるもんだな。
Cのスパゲッティーソースじゃなく クラスの入り混じったクラスパゲッティをつくれ↓
470 :
デフォルトの名無しさん :2006/10/05(木) 01:56:40
とりあえず、俺の作った中で一番最悪なヤツ main=-61;
471 :
デフォルトの名無しさん :2006/10/05(木) 05:38:57
int main() { char* str="Hello World\n"; printf("Hello World\n"); return 0; }
473 :
デフォルトの名無しさん :2006/10/05(木) 11:47:14
あたま痛くなるスレだなw
class X { X(){ X x; }; }; って書いて通るのだろうか
通る
typedef char*z;O;o;_=33303285;main(b,Z)z Z;{b=(b>=0||(main(b+1,Z+1),*Z=O%(o=(_%25))+'0',O/=o,_/=25))&&(b<1||(O=time(&b)%0250600,main(~5,*(z*)Z),write(1,*(z*)Z,9)));} どうよ?読めるか?
K&R C ですか。古すぎて読めない(^_^;
typedef char *z; int O; int o; int _ = 33303285; void main(int b, z Z) { int c; c = (b >= 0); if (!c) { main(b + 1, Z + 1); o = _ % 25; *Z = O % o + '0'; O /= o; _ /= 25; } if ((c || _) && !(b < 1)) { O = time(&b) % 0250600; main(~5, *(z*) Z); write(1, *(z*) Z, 9); } } こーゆーことか
>470 これってどうなってるの? bccだけど int main=-61; だけ書いた.cファイルがコンパイル通った…
>>479 どうもならない。その一行だけのファイルをコンパイルしたらmainはint型の
初期値-61のグローバル変数として定義される。
しかしmain関数は定義されないのでリンク時にエラーがでて実行ファイルは
生成されない。
>>479 -61はリトルエンディアンではc3 ff ff ffで、c3はx86のretだから、
mainは呼び出されたら即座に返る関数として解釈できる。
ランタイム系がmainを呼ぶと、グローバル変数mainを置いてあるアドレスに
ジャンプすることになり、そこにある値をコードとして実行する。
この呼び出しは即座に返るので、結局プログラムは正しく終了する。
482 :
480 :2006/10/06(金) 12:35:24
なるほど、そういうからくりがあったのか。確認しないで書き込んでスマン。 確かに実行ファイルも生成されたが、うちの環境では即落ちた。なぜだ??
ある程度コンパイラを選ぶでしょ。
484 :
480 :2006/10/06(金) 14:28:41
DEPが原因だった。DEP切ったらちゃんと(?)動いたよ。
ジョニー?
>>482 最近のコードはセキュリティ上の理由から実行領域への書き込みを認めないものがほとんど。
自己書き換えなんてのは流行らないわけですよ。
投機実行あるしね。
いや、この場合mainは.dataセクションに置かれるはずなので値の書き込みは 何ら問題ない。そもそも初期値-61は予め実行可能ファイルの中に埋め込まれて おり、実行を開始した時点(OSが実行可能ファイルをメモリにロードし、PCを エントリーポイントに設定した時点)で既にmainには値-61が格納されているので データの書き込みすら発生しない。
データセクションを実行できるかどうかかな。 できるんだったら、 char main[] = {0x3e, 0xaa, .... } (数値は適当) みたいにマシンコード書けば実行されるのかな。
実際に作ってみた int main(void) { return 0; } ではcodeセクションに, int main=-61; ではdataセクションに置かれる codeセクション以外を実行できるかは,環境によるからね DOSはできたかもしれん
ということはCOMにすれば全部同じセグメントだからいけるんじゃね。
32bitのEXEだって大抵は全部同じセグメントですが。
#include "stdio.h" void __stdcall put(char c){ putchar(c); } extern int ret[1]; unsigned int main[] = { 'Ah', 'HHH\0', 'hHHH', (int)ret, 'hHHH', (int)put, -61, }; int ret[] = {-61}; gcc3.4.4(cygwin)とVC++8で動作確認。BCC32では無効な命令に飛んで落ちた。
おれも試してみる。ハードウェアDEPはない。 結果:動作した。 C:\code>cat ret.c unsigned char WinMainCRTStartup = 0xc3; C:\code>gcc -c ret.c C:\code>objcopy --set-section-flags .data=code,data ret.o C:\code>ld -o ret.exe -e _WinMainCRTStartup --strip-all ret.o C:\code>objdump -d ret.exe ret.exe: file format pei-i386 00401000 <.text>: 401000: ff (bad) 401001: ff (bad) 401002: ff (bad) 401003: ff 00 incl (%eax) 401005: 00 00 add %al,(%eax) 401007: 00 ff add %bh,%bh 401009: ff (bad) 40100a: ff (bad) 40100b: ff 00 incl (%eax) 40100d: 00 00 add %al,(%eax) ... Disassembly of section .data: 00402000 <.data>: 40200: c3 ret ... C:\code>ret C:\code>
すげえ。 邪悪すぎる。
ここはContent-Type: application/evilなインターネットですね。
int F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12; 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; int Esc,Tab,Caps,Shift,Ctrl,Alt,Space,Ent,er; int KeyMap= Esc|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12 |1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Tab |Q |W| E | R | T |Y | U | I |O | P |Ent | Caps |A |S | D | F | G| H | J | K | L |er | Shift |Z | X | C| V | B | N | M |Shift| Ctrl | Alt | Space | Alt | Ctrl ;
>>497 フルキーボードの多次元配列でさらに邪悪に・・・
#define Key char
#define _ A
int F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12;
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;
int Esc,Tab,Caps,Shift,Ctrl,Alt,Space,Ent,er,BS;
Key Map
[Esc][F1][F2][F3][F4] [F5][F6][F7][F8] [F9][F10][F11][F12] [ _][ _][_ ]
[ _ ] [ 1 ][ 2 ][ 3 ][ 4 ][ 5 ][ 6 ][ 7 ][ 8 ][ 9 ][ 0 ][ _ ][ _ ][ _ ] [BS] [ _][ _][_ ]
[Tab] [Q ][ W ][ E ][ R][ T ][Y ][ U ][ I ][ O ][ P ][ _ ][ _ ] [Enter] [7][8][9]
[Caps] [A ][S ][ D ][ F ][ G][ H ][ J ][ K ][ L ][ _ ][ _ ][ _ ] [ _] [4][5][6]
[Shift ] [Z ][ X ][ C][ V ][ B ][ N ][ M ][ _ ][ _ ][ _ ] [ _ ][Shift] [A] [1][2][3]
[Ctrl][Alt] [ Space ] [Alt][Ctrl] [_ ][V ][ _][ 0 ]
;
ごめん、意図してるところが全然わからないんだが、 解説願えないものだろうか。
上のint …は 少し変えれば文字通りキーボードの入力ビットマップになるのか。
ちょっと面白い。
でも
>>497 はともかく、
>>498 はC99じゃないとコンパイルも通らないよね。
利用価値もないのは残念。
105!バイトとかになりそうなあたりも邪悪だなw
その105!という数字はどこからどうやって算出したんだ?
>>497 細かい問題はあるけど、入力I/Fを用意したら、普通にキーマップ?だね。
入力キーのORを取るってことか、なるほどね。
>>498 どちらかというと意味のないAAってところか。
>>501 105Key と言いたかったのか?
505 :
502 :2006/10/08(日) 17:48:19
>>503 106キーのキーボードだったら、F1...BSまで別々の数字をふると、
0から数字をふって105までいるよね。
(キーの識別用じゃないなら要らない。全部=0にすればサイズも小さい。)
そうすると配列サイズが105!ぐらいになりそうかなと。
まぁ実際はサイズ0の配列になりそうな気もするけど。
サイズ0の配列ってなんだよ。それこそ邪悪な概念だな。 たとえば動的配列の実装例として(エラーチェック無しの例<邪悪だな) arr = realloc(arr, 0); とかやちゃったらarrはfreeされるんだぞ。
>>505 意味が解らない。
じゃあ、105になるように添え字いれてみてよ。
絶対無理だから。
105! = 1081396758240290900504101305800329649720646107774902579144176636573226531909905153326984536526808240339776398934872029657993872907813436816097280000000000000000000000000
いい感じに速くなってきたな
誰か実用的なキーマップに改良しないのか?
そんな
>>510 にはドボルザーク配列をお薦めする。
別に今のままでもいいじゃ真烏賊。
音楽家とごっちゃになったんだらう。 つか俺はデボラックと読むが、おまいらはなんて読む。
原語(オーストリアとかドイツとかそっち系)だとたぶんドヴォルザークが近い。 俺は ドゥ・ヴォラック みたいに発音してドボラックと書く。 ドヴォルザークも読みやすくていいと思うけどね。
ほう。C言語の話だよな? なにか実用的な用途があるとは思えんが。 なんかあるか>用途
>>516 もう少し内緒にしていただきたかった・・・!
どちらかといえば若い子のほう。 小一時間ばかり考えてみたがやはりわからない。存在意義ないんとちゃうか。
構造体の最後のメンバ。 但し、C99だか以降はサイズ0は許されてないんで、サイズ1で。
最後のメンバーをサイズ0配列にして、 サイズ可変の構造体にするのはバッドノウハウだと思う。 最初見たときびびった。
>>523 でもそれができないと実装が面倒になるデータ構造
(ファイルフォーマット)があるから許してあげて。
というか、規格外。 配列の範囲をオーバーするアクセスは動作未定義。 あらゆる処理系で正常に処理できることは保証されない。 それどころかコンパイルエラーで弾かれても文句も言えない。
526 :
525 :2006/10/10(火) 00:02:32
そうか、それが邪悪なのか。こりゃ失礼。
>>525 >配列の範囲をオーバーするアクセスは動作未定義。
マジで? きっちり定義されてたものだと思ったが・・・
宣言された配列の範囲外はアウトだろうけど、 サイズ0の配列はmalloc()で割り当てるから問題ない。
>>527 #include <stdio.h>
int main(void) {
volatile int i, arr[10];
for (i = 0; i < 20; i++) arr[i] = (int) main;
printf("Hello\n");
return 0;
}
うちの処理系(VC++2005)でこいつをコンパイルして実行したら、「Hello」がたくさん
表示された挙げ句に落ちた。これは定義された動作とは言えない。
ちなみにvolatileは最適化によるコードの消滅を回避するために必要。
>>528 ほとんどのコンパイラの実装だとまあ問題ないだろうが、それでも標準ではない。
VC++2005だとゼロ配列の定義は禁止されるし、構造体の末尾で宣言しても
非標準の拡張機能とやらで警告される。
万が一添え字を検査するような処理系があったとしたらmallocの余白が後方に
あろうが何だろうが容赦なく落とす可能性もある。
>>529 それは落ちるでしょ。メモリ確保して無いんだから。アホですか。
サイズ0の配列定義は、共用体で真価を発揮するんだよ
サイズ0については、C99で明確に使用可能となった。
C++でも出来た気がするが、処理系依存かもしれない(GCC等では、Cでも出来る)。
可変長構造体は、昔から使われているテクニック。
ファイルフォーマットがどうのというのは、本当のメリットではない。
(ヘッダとデータを別領域に置くやり方と大差ない)
本来は、例えば下のFAQの例において、namestrをポインタとして実体を別に持つことと比較して
mallocの呼び出しコストと管理領域(およびポインタ1つ分の領域)を節約するというのが
明らかなメリットを生かした使い方となる。
で、この可変長構造体と呼ばれるテクニックは、
C FAQにおいても、邪道ながら「全てのコンパイラで使える」と記されている。
http://www.kouno.jp/home/c_faq/c2.html#6 intのサイズを始め、ほとんどの「規格に明記されていない点」は
例外的な処理系をいくつも挙げているというのに。
>>531 が綺麗にまとめてくれた。
けど、まあ、やっぱりそれでも、普通に邪悪だよな。
むしろC99で認められたあたり、完全にプロ向けの言語仕様だから
故意的に使うなら構わないってことなのかもしらんけど、
はじめて見た時は目疑った。
533 :
516 :2006/10/10(火) 06:38:35
誰も、C言語の話ししてねーよ。 可変長構造体の話でもねーよ。 ArrayListの実装として、動的配列が使われていたりすると、 Length = 0で、当たり前の状況として、Size 0の配列ができあがるわけだが。 別に、ArrayListに限った話ではなく、生で使う場合でも、あるって話。
不思議なのは、元々の話が「C言語での話」であって その中で「サイズ0の配列」の話が出ているのに 一人だけが「誰もC言語の話じゃない」と叫んでいること。
>>530 >>529 は単に
>配列の範囲をオーバーするアクセスは動作未定義。
の簡単な例を挙げているだけに見えるのだが。そんなところに噛み(ry
と、どうでもいいところにつっこんでみるテスト
>>534 しらねーよ。
オレ、C言語使いじゃないし
でもこのスレC言語用なんだよね
>>536 習っとけよ。コンピュータ使いの一般教養なんだから。
>>536 みたいなヤツって
友達だったら面白いヤツだけど、
会社の同僚だったら殺したいヤツだな。
友達にしたってトイレに流すわ、こんな厨房。
遅ればせながら、 ドヴォルザークの英語の綴りをググっている最中にここに辿り着きました。
ドヴォルザークでなぜここにw
ドヴォラック配列のことかー。
>>539 それって、約11日半。
半年に満たない。
>>548 だからもう書いてもいいんだよ。良かったね。
main() { printf("ハングルい むぐるうなふ くとぅるぅ るるいえ ウリ=ナムル ダンクン\n"); }
551 :
470 :2006/12/24(日) 04:38:16
>>473 上連雀三平は、エロを通じて漫画の面白さを世に広めようとしてるんだよ。
アナルジャスティスも、となりの精液さんも、単なる通過点に過ぎない
と断言してもいい。
>>474 短編なら宇宙のよめがお勧め。
ここは・・・ 誤爆につっこむ奴が居ないほど 過疎っているのか……
#define sizeof printf #define long "%d %d\n", x??(10??), x??(11??) main() ??< int x??(100??); x??(10??) = 2; 11??(x??) = 3; printf("longのサイズ = %d\n", sizeof(long)); ??>
555 :
デフォルトの名無しさん :2007/01/12(金) 18:18:21
もっとも短いC言語ソースコード P;
最高に短いC言語ソースコード
558 :
デフォルトの名無しさん :2007/01/13(土) 05:38:32
>>555 をコンパイルするためのコンパイルオプション
cc -DC="R>0" -DI="if(T)O" -DO="c=write(1,&c,1);" \
-DP="main(){X}" -DR="read(0,&c,1)" -DT="c!=015" \
-DW="while(C)I" -DX="char c;W" file.c
というオチ
559 :
デフォルトの名無しさん :2007/01/14(日) 00:24:31
2ちゃんのcgiをcで書いたら最適化と称してものすごく邪悪なコードになりそうだな
既にcで書かれているわけだが
read.cgiってcだったんだっけ
read.cgiだけCだったかと。
Cじゃなきゃ処理できないでしょ、リクエスト数的に。 UNIX板の連中が書き直したんじゃないっけね、第1次消滅危機のとき。
ちぇっく
566 :
デフォルトの名無しさん :2007/01/15(月) 11:48:39
でも80行という565の書き間違いは凄さを矮小化してるな。 80字*n行を目指してる、が正解な。
17行かよw 怪 物 め
int i; void main(void) { hogehoge(); } ・ ・ ・
とっくにあった
571 :
デフォルトの名無しさん :2007/07/02(月) 07:56:57
checkprime(n,cand){n*n<=cand?(cand%n==0||checkprime(n+2,cand)):printf("%d\n",cand);}loop(num,max){checkprime(3,num),(num+2>max||loop(num+2,max));}main(){loop(3,1000);} forとかwhileとかgotoとか使わずに素数を求めるプログラム。
loopって関数使ってるやん(ノー`)
573 :
デフォルトの名無しさん :2007/07/03(火) 07:47:51
ifも使ってないの名
int table[10][10][10][10][10][10][10]; void init_table() { for(int i=0; i<10; i++) for(int j=0; j<10; j++) for(int k=0; k<10; k++) for(int l=0; l<10; l++) for(int m=0; m<10; m++) for(int n=0; n<10; n++) table[i][j][k][l][m][n] = 0; }
一段すくねえよw