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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
邪悪な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"
3名無し@沢村:03/01/17 20:32
#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
半角スペースをいじるのが面倒だと判明したので

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

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

邪悪というからにはC++版もあるんですか?
>>17
最悪なら分かるが、何故に邪悪?
似たような主旨の記事にあったやし

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       (
           )
           {
           }
>>21
ワロタ
2310:03/01/18 16:27
>>21
ポスター2枚の価値。
いるか?
2421:03/01/18 16:29
>>23
ややウケ?
ポスターはいらんっす。
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;}
>>5
「正しい」 の方、バグねーか?
という指摘を >>6 がしたのか。
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
>>36
あまり邪悪さは見られないのだが。
38ccc:03/01/21 16:29
http://www6.ocn.ne.jp/~endou/index2.html
      ★こんなサイト見つけました★
>>37
・whileが無限ループ
>>36
邪悪というより、バグっぽい。
41山崎渉:03/01/23 20:05
(^^)
>>30
セミコロンが足りない
最後の'\0'を書き込まない
文字列長が0の時ヤバ
他にある?
>>42
そんだけあれば、十分かと。
44金正日マンセー!:03/02/18 21:29
(^ゝ^)yマズハココミテ!(ブラOラデスケド・・・・
http://www.kimjoniru.sine/file/read.cgi/test/1024x001/iso.exe
金正日マンセー!金正日マンセー!金正日マンセー!金正日マンセー!金正日マンセー!
金正日マンセー!金正日マンセー!金正日マンセー!金正日マンセー!金正日マンセー!
以前客先で見たソースの中に、
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
>>49
ベテランが多いんじゃねーの?
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
6057:03/02/22 01:41
あらためて見ると、縦書きも普通っぽいなぁ。
61>>21リスペクト:03/02/22 04:00
   /*
   |
   |
   |
  ∧|∧
 ( / ⌒ヽ     | ̄ ̄ ̄ ̄ ̄ ̄ ̄
  | |   |     |
  ∪ / ノ  .   |
  ノ ノ ノ      */
 main       (
           )
           {
           printf("Goodbye World!");
           }
62デフォルトの名無しさん:03/02/22 04:11
全然邪悪じゃないな。
一見なんの変哲もないCプログラムをコンパイルすると、
何故だか、コンパイラが汚染されるようなコードかかないとな。
>>62
冷静に考えてムリポ
>>63
コンパイラのセキュリティーホールをつけば可能。
>>64
はげしくコンパイラ依存だな
main() {
return 1;
}
>>66
それは/bin/false。
#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と干渉して。
OCCCといえば、これが好き
http://www.au.ioccc.org/1988/westley.c

初めて見たとき感動した
>>78
そのはずだがWindowsでBorland-C++使うと実行時エラーになる。
どうもコードセグメントが読み取り専用属性になってるらしい。
昔のDOSでは動いた。
>>85
最近のOSとコンパイラなら、まず、実行時エラーでしょう。
昔のUnixではどうだったんだろうか。
スレ違いだと思うんですけど携帯用のウィルスってある(できる)んですかねぇ〜?
もし、あったり作れちゃったりできる人はメール送ってください。
88デフォルトの名無しさん:03/02/23 23:08
>>87
今すぐ氏ね
>>87
大爆笑。おまえセンスあるよ。
>>87
あるけど面倒くさい
>>87 邪悪の意味が違う。つか、君の心が邪悪
携帯用のウィルスかどうか知らんが、メールを開くだけで
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
>>94
わらた
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) にしない ?
>>110
そんな、あんた、乱暴な。
#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;
}
>>112-113
何がしたいんだ?
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
女神転生(最初のやつ)の主人公って、
ナカジマカオルだったっけ?
>>121
ぬるぽ
中島朱実
ナカジマアケミ
悪魔償還プログラムはBASICですよ。マジで。



うそつくなー!アセンブリ言語だよー!
125 が正解。
しかも、Z80 のアセンブリ言語な。
4004 じゃないのか
1281:03/03/17 18:19
#define"はじめ"{
#define"おわり"{

#define"中心"main

#define"もし"if
#define"くりかえす"for

#define"代入"=

#define"等しい"==

#define"たす"+

#define"整数"int
1292:03/03/17 18:20
#define"ここから"(
#define"ここまで")

#define"戻り値"return

#define"出力" printf

#define"、";

#define"一つたす"++

#define"改行"\n


//#define追加#include

#include<stdio.h>


整数 中心 ここから ここまで はじめ

整数 i、
くりかえす ここから i 代入 0 、i 等しい 10 、i 一つたす ここまで
出力 ここから "テストテスト 改行" ここまで

もどりち i、

おわり
1302:03/03/17 18:20
上記のコードはむりなのかなぁ〜

VC++じゃ無理....
>>130
#define のシンボルは、C/C++ の命名規則による。
どうしてもそのコードを通したいなら、日本語に対応したプリプロセッサを
自分で書く事だ。
132デフォルトの名無しさん:03/03/17 20:20
>128-129
なかなか面白いことやるねあんた
「邪悪」ってのは、可読性とコーディングスタイルだけのことなのか?

処理内容が邪悪、ってのはNG?(おい
HSP はそれだけで邪悪
>>133
ファイルシステム破壊とか本当に悪質なものはダメでしょ。

>>135
マジレスありがと。

# 悪意がなくても、バグでファイルシステムが逝っちゃうケースも
# ありそうな気がするけど・・・。
>>134

title ""
return
loop
end
138137:03/03/17 21:16
やべっ、素で間違えた
return→repeat

…HSPって難しいね。
139C:03/03/17 21:25
>>129
JPerlならほぼ全部日本語のプログラミング言語です
#define that this
#define these this
#define those this

return *these;
ttp://public.planetmirror.com/pub/ancient-unix/
ここにある7th Edition UNIXの/bin/shのようなコードかな
Pascalとは微妙に違うがマクロの正しい使い方だな
#define NULLPO NULL
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/
 (_フ彡        /  ←>>142
http://pc2.2ch.net/test/read.cgi/tech/1028269762/203
↑に、>>1の while 版があるなも。
#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
159157:03/03/22 21:45
>158
お前には失望したよ。
>>159
もう遅いぬるぽ
 オヤクソク‥ト
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/
 (_フ彡        /  ←>>160
162仕様書無しさん:03/03/26 09:47
ぬるぽに投票してください。
http://pumpkinnet.to/ranking/words/
 ランクヒクスギ
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/
 (_フ彡        /  ←>>162

164山崎渉:03/04/17 15:51
(^^)
165山崎渉:03/04/20 04:14
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
か、め、は、め、はーーーーーーー
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;
}
169山崎渉:03/05/28 13:22
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
昔、デバッグの為にわざと暴走させるために

(*(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コードじゃないけど。
175_:03/06/21 06:29
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
>>145は一体どんな処理をするの?
>>176
??なにこれ?
179山崎 渉:03/07/15 10:42

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
180山崎 渉:03/07/15 14:05

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
/* 同様に↓のようなグローバル変数をヘッダファイル内に宣言
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 ;
}
182山崎 渉:03/08/02 02:50
(^^)
183山崎 渉:03/08/15 17:51
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
184デフォルトの名無しさん:03/11/14 10:04
age
>>181
そのコードに笑いがこみ上げてくるなんて、プログラマやってて良かったぜ。
ageてくれた184にも感謝。
186Star:04/01/25 22:52
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
 ワロタww
>>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
これってコンパイル通るの?
なんで?
ていうか、そのコード何したいのかわからん
>>191
>>186よりも>>94の方が比較的面白い。
>>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()();
}
200199:04/02/01 01:19
くそ、>>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;
}
>>204
ワロタ
#include<stdio.h>
#include<stdlib.h>
void main(){while(1)printf("%d",rand());}
207Star:04/02/01 19:05
>>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
>>208
だから?
#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
>>208-211
 stdlib.hをインクルードしていれば、time.hは要らんよ。
#include <stdlib.h>
int main ()
{
time (0);
return 0;
}
warning: implicit declaration of function `time'
こんなこと言われるからいるんじゃない?
214デフォルトの名無しさん:04/02/02 13:06
>>213
 BCCでは出なかったと思うけどな。
215デフォルトの名無しさん:04/02/02 14:06
>>212
ネタ?
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");
}
}
}
}
>>222のやつ、内部で*2してるのが惜しい
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;
}
232231:04/02/03 21:53
やべっ、関数名マズった…
>>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
/* 暴れた奴に比べれば大した邪悪さじゃないな。 */
246243:04/02/19 22:44
#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使ったら結構何でもありになってしまうからなぁ。 < 顔文字
250181:04/02/22 08:28
>>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
261Star:04/02/26 19:18
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;
}
>>272-275
また、スレの趣旨をk(ry
/* birthday */
age = !~age;
278age:04/03/13 21:30
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
281St:04/03/21 19:37
#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だろ
>>282
何がどう邪悪なのかさっぱり判らない。
http://www.au.ioccc.org/を256回読んで出直してこい
>>281
読んでると混乱しそうだな…。
すいません。質問です。
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
そんなに悪いコードだとは思えないが?
コーディングスタイルの範疇。
>>300-302
>>1を読みましょう
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
>>304
"円投げんなヴォケ!\0"
#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"を「邪悪」って訳すのは誤訳だろ。
「難解」とか訳すのが普通。
313デフォルトの名無しさん:04/10/13 09:33:17
??=include <stdio.h>
??=include <stdlib.h>
int main(int argc, char *argv??(??))
??<
 printf("Hello, world.??/n");
 return EXIT_SUCCESS;
??>

趣旨が違うかもしれないけど、トライグラフはそこそこ邪悪だと思う。
314デフォルトの名無しさん:04/10/14 12:26:04
いつだかのIOCCCで
 main(argc,argv)
 char **argv
 {
  …
 }
ってのがあって笑ったっけ。
暗黙のint型。
315デフォルトの名無しさん:04/10/24 11:35:35
>>312
邪悪のほうが楽しいじゃないか
316いなむらきよし:04/10/24 13:30:29
俺の身体の方が凶悪だキケー!
学校での身体検査のときに俺の身体見て吐いた奴がいたキケー!
317デフォルトの名無しさん:04/10/27 16:43:51
$ perl -e '<>==1?$a:$b=1;print"$a:$b"'
318デフォルトの名無しさん:04/12/12 03:18:40
/bin/hosh
319デフォルトの名無しさん:04/12/12 05:00:47
#define OTZ 1
main(){
int orz;

if(orz == ORZ){
printf("○| ̄|_\n");
else
printf("_ト ̄|○");
}

320デフォルトの名無しさん:04/12/12 05:01:07
間違った
orz
321bull 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
>>322
ワラタw
324デフォルトの名無しさん:04/12/19 06:47:24
どこが邪悪なんだよw
325デフォルトの名無しさん:04/12/19 18:02:09
なんか自分の書いてるコードに
  return code[++reading++];
ってコードが出てきた。そんだけ。
326デフォルトの名無しさん:04/12/19 20:39:54
それはすでにCじゃないな。
327デフォルトの名無しさん:05/01/16 03:23:55
なんかねーのか?
328デフォルトの名無しさん:05/01/17 10:34:25
昔、自作のコードでアスタリスク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
なぜなら、邪悪は細部に宿るから。
332yara@かちゅーしゃ ◆SSLypP3Luo :05/01/17 14:58:03 ID:??? BE:32481656-
#include <stdio.h>
main(){printf(">>11氏ね");}
333デフォルトの名無しさん:05/01/17 15:01:13
333get!!
334デフォルトの名無しさん:05/01/17 15:08:53
邪悪は、存在自体が創造的である。

…異国の地で邪悪なる説教師はかく語りぬ
335yara@かちゅーしゃ ◆SSLypP3Luo :05/01/17 15:42:54 ID:??? BE:10827825-
#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
336yara@かちゅーしゃ ◆SSLypP3Luo :05/01/17 15:48:26 ID:??? BE:38978249-
#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;
}
337yara@かちゅーしゃ ◆SSLypP3Luo :05/01/17 15:52:51 ID:??? BE:21654454-
//>>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
そんなおばかコード書いてる暇あったら、ベクターに自分の実力を披露してこい!
339yara@かちゅーしゃ ◆SSLypP3Luo :05/01/17 18:35:25 ID:??? BE:16240853-
#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}
};

340yara@かちゅーしゃ ◆SSLypP3Luo :05/01/17 18:36:13 ID:??? BE:21654645-
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}
};

341yara@かちゅーしゃ ◆SSLypP3Luo :05/01/17 18:37:06 ID:??? BE:87699299-
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
ウォーーーーーーー

青春の貴重な時間とスレを無駄にしやがって…。キスしたことないくせに
343デフォルトの名無しさん:05/01/17 19:35:28 ,
トイレでこっそり泣いてもいいよ。
344デフォルトの名無しさん:05/01/17 19:55:03 ,
親父にもキスされたことないのに!!!!
345MAIN:05/01/17 21:40: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;
346MAIN2:05/01/17 21:42:37
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_
347MAIN3:05/01/17 21:43:19
すまん。
さいしょの#をわすれた・・・。
348MAIN4:05/01/17 21:45:49
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;

ミスは許してくれ・・。
349yara@かちゅーしゃ ◆SSLypP3Luo :05/01/17 21:57:53 ID:??? BE:12992843-
>>345-346
いきなりreturnかよ。
350デフォルトの名無しさん:05/01/17 23:30:17
シンボルのシャッフルってソフトでできなかったっけ
351MAIN:05/01/20 21:10:38
>>349
いきなりreturnとは?

#define M_IN goto
くらいを定義してスパゲッティにした方がもっとよかった・・?
352デフォルトの名無しさん:05/01/30 08:26:37
age
353デフォルトの名無しさん:05/02/11 19:25:34
 
354デフォルトの名無しさん:05/02/11 19:27:06
#pragma reboot()
355デフォルトの名無しさん:05/02/12 00:12:46
COBOL作法
356デフォルトの名無しさん:05/03/11 18:34:39
void main(){
return "ぬるぽ";
}
357デフォルトの名無しさん:2005/04/03(日) 22:46:18
#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
359Win専用だけど: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デフォルトの名無しさん:2005/05/02(月) 16:28:09
怖くて実行できません
362デフォルトの名無しさん:2005/05/02(月) 17:06:02
>361
Vaka!!!
363脳内PG:2005/05/02(月) 17:06:03
if(a==p){

int nop =NULL

};
364デフォルトの名無しさん:2005/05/03(火) 19:07:01
for(;;) malloc(sizeof(char));
365デフォルトの名無しさん:2005/05/04(水) 00:23:06
#define if if(rand()%10) if
366デフォルトの名無しさん:2005/08/09(火) 19:32:17
#defineだらけでワケワカランのを昔見た
367デフォルトの名無しさん:2005/08/25(木) 04:49:30
もーXORビット演算ぶっ殺したい (・へ;)
368デフォルトの名無しさん:2005/10/09(日) 17:48:35
#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;
}
369デフォルトの名無しさん:2005/10/10(月) 17:42:02
>#define if if(rand()%10) if
ひでえwww
370デフォルトの名無しさん:2005/10/13(木) 01:16:57
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 );
371 ◆MPfUWry6Bs :2005/10/23(日) 18:47:44
ぬるぽ
372GiantLeaves ◆6fN.Sojv5w :2005/10/23(日) 19:01:10
int main(){
int i,j;
i/*=ぬるぽ;
j*/=1;
return 0;
}
373デフォルトの名無しさん:2005/10/24(月) 14:42:47
>>371-372

??=include <stdio.h>
??=include <stdlib.h>
int main(int argc, char *argv??(??))
??<
printf("ガッ!.??/n");
return EXIT_SUCCESS;
??>
374デフォルトの名無しさん:2005/11/05(土) 18:38:37
>>373
トライグラフが文字化けに見える。
375デフォルトの名無しさん:2005/11/11(金) 23:53:41
もうちょっとこう、#defineの置き換えに頼らないのが見たいな。
376邪悪なうんこ晒し:2005/12/27(火) 22:07:05

//--------------------------------------------------------
// 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;
377邪悪なうんこ晒し:2005/12/27(火) 22:08:05

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;
378デフォルトの名無しさん:2005/12/27(火) 22:08:57
            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;
379デフォルトの名無しさん:2005/12/27(火) 22:09:56

        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;
}

もう、こんなのもらって呆れました
380デフォルトの名無しさん:2005/12/28(水) 04:15:41
普通に駄目コードなだけで、別に邪悪でもなくね?
381デフォルトの名無しさん:2005/12/29(木) 01:54:16
何がダメなのか解からないダメ男のために解説してください。
382デフォルトの名無しさん:2005/12/30(金) 11:06:44
っていうか、スレ違いだぞ。
383デフォルトの名無しさん:2005/12/30(金) 14:45:42
とりあえず
    if (!NULL) {
が何のために存在しているのか分からん
384デフォルトの名無しさん:2005/12/30(金) 14:48:21
!を消せばその範囲をコメントアウトしたのとほぼ同意義になる。
385デフォルトの名無しさん:2005/12/30(金) 22:45:09
#if 1
386デフォルトの名無しさん:2005/12/31(土) 04:02:58
#define if while
387デフォルトの名無しさん:2006/01/13(金) 11:44:16
#define NULL 1
388デフォルトの名無しさん:2006/01/19(木) 23:14:47
main(char*a){printf(a,34,a="main(char*a){printf(a,34,a=%c%s%c,34);}",34);}
389デフォルトの名無しさん:2006/02/20(月) 18:42:15
char *b=NULLL;
while(1)
{
 if( ( b = malloc(1024*1024) ) != NULL )
 {
  free(b);
  b=NULL;
 }
}
390デフォルトの名無しさん:2006/02/20(月) 20:24:44
NULLL
ってなあに?
391デフォルトの名無しさん:2006/02/22(水) 20:26:29
age
392デフォルトの名無しさん:2006/02/22(水) 20:39:38
393:2006/02/22(水) 21:39:58
このサイトけして
394:2006/02/23(木) 07:27:48
チッ、やっぱりお前等じゃむりか
死ねよ
395デフォルトの名無しさん:2006/02/23(木) 21:34:57
#define NULL (void*)0
#define NULL (long viod*)0
396デフォルトの名無しさん:2006/02/28(火) 20:45:46
397デフォルトの名無しさん:2006/03/04(土) 09:14:23
Cじゃないが、brainfuckとunlambdaという言語を見かけ、噴飯した、そして惚れた。
398デフォルトの名無しさん:2006/03/04(土) 11:37:31
unlambda最強
399デフォルトの名無しさん:2006/03/04(土) 13:09:47
某社の技術者試験対策本に劣悪なサンプルソースが載ってたが
ここ見てるとそう大したことでもない気がしてきた
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
402デフォルトの名無しさん:2006/03/06(月) 08:40:48
#define                         L_ main  
#define             O_              int //~~
#define             O               char
#define   __                       void
         __     L_
          ( O_,O 
         *<:   :>       
            )/*`*/         <%%> //
403デフォルトの名無しさん:2006/03/07(火) 15:12:52
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);
}
404デフォルトの名無しさん:2006/03/07(火) 17:36:38
>>403
それマジでやったことあるorz
405デフォルトの名無しさん:2006/03/08(水) 23:33:52
>return (i != 0 ? i * recursive(i-1) : 1);
ここのこと?
ただのバグじゃない。Cに慣れればこういうバグはなくなるよ
406デフォルトの名無しさん:2006/03/09(木) 09:24:28
unsigned なのにそっちを指摘するのか?
もう少し C に慣れたほうがいいんじゃないか
TextSS のWindowsXP(Professional)64bit対応化おながいします

もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?

そういや64bitにネイティブ対応している2chブラウザてありましたっけ?
408デフォルトの名無しさん:2006/03/24(金) 16:18:14
407
てめーでつくれ
409デフォルトの名無しさん:2006/05/13(土) 20:22:06
#include <stdio.h>

main()
{
int a;

printf("今日何回オナニーしましたか?\n");
scanf("%d", &a);

if (a > 3) {
printf("死ね");
} else {
printf("生きろ");
}

return 0;
}
410デフォルトの名無しさん:2006/05/18(木) 23:35:05
#include <stdio.h>

int main(int argc, char** argv)
{
if (argc > 2) {
printf("プログラム名称→ %s\n", 0[argv]);
printf("指定オプション→ %s\n", 1[argv]);
}
return 0;
}
411デフォルトの名無しさん:2006/05/21(日) 23:57:42
そのくらいならお茶目で稀にやるけど
2[argv]は使わないのかな?
412デフォルトの名無しさん:2006/06/07(水) 02:35:38
main(argc,argv)
char **argv;
{
……

ってのを見て笑ったっけ。
暗黙のintかと。
413デフォルトの名無しさん:2006/06/07(水) 18:02:13
旧型式の関数宣言にこの前ようやくお目にかかったよ。
一瞬理解できないな、あれ。
414デフォルトの名無しさん:2006/06/09(金) 16:00:02
#include <stdio.h>

int main(int argc, char *argv[]) {
char c;

printf("文字コードを求めるプログラムです。文字を入力してください。\n");
scanf( "%c", &c );
printf("確認してください。\n");

return c;
}
415デフォルトの名無しさん:2006/06/09(金) 22:17:44
それはただ単に、scanf()の邪悪さだけでは?
そもそもscanf()にcharポインタって渡せたっけ?
416デフォルトの名無しさん:2006/06/09(金) 23:03:02
そうかー自分中では極上に邪悪だったんだけどな
終了コードで渡されてて、なんか不愉快な気持ちに俺はなった
417デフォルトの名無しさん:2006/06/09(金) 23:07:12
はなしがかみあってない。
418デフォルトの名無しさん:2006/06/15(木) 15:15:10
415が分かってないということでいいんでしょうか?ちょっと自信無し
419デフォルトの名無しさん:2006/06/21(水) 01:05:44
typedef struct girl
{
 omanko O;
}syojo;

bool sex( syojo* I , const Tinko seisi )
{
 I->O = seisi;
 return rand() % 2;
}
420デフォルトの名無しさん:2006/06/22(木) 11:29:23
そうっぽいね
414はニュータイプの邪悪さですね
軽度にイラっとする
421デフォルトの名無しさん:2006/06/27(火) 00:27:52
for(i=0; i<SIZE; i++){
  if(array[i]){
    continue;
  }
  break;
}

俺の良く使用するコードだ。breakを書き忘れるとハマる
422デフォルトの名無しさん:2006/06/27(火) 10:08:20
そこは是非
for(i=0; i<SIZE; i++) if(array[i]) continue; else break;
と書いて欲しいなw
423デフォルトの名無しさん:2006/06/27(火) 19:10:45
for(i=0; i<SIZE; i++) i+=!(array[i])?SIZE:1;
はどうだ?
424デフォルトの名無しさん:2006/06/27(火) 19:12:37
ごめん間違った。
for(i=0; i<SIZE; i+=!(array[i])?SIZE:1);
425デフォルトの名無しさん:2006/06/27(火) 19:22:43
while(array[i]){
switch(i++){
default:continue;
case SIZE:;
}}
426421: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には性的な意味で脱帽しました.
427421: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; }
  /*処理*/
}

これの発展系だとお考え下さい.
428421:2006/06/27(火) 20:38:39
訂正: インデックス>インデント
429デフォルトの名無しさん:2006/06/27(火) 23:02:52
#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);
}
430デフォルトの名無しさん:2006/06/28(水) 06:46:03
>>427
早めに振り分けちゃうのは、可読性が上がっていいと思う。

ループだと、以前に変なのを実際に見た。
 d0 = 10;
 do {
  〜
 } while ( --do < 0 );
68000のアセンブラからの移植で、68000のループ命令(dbra)を
馬鹿正直にエミュレートしてんの。
431デフォルトの名無しさん:2006/06/28(水) 06:46:59
>>430
typo、while中の変数はd0ね。
432422: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
433デフォルトの名無しさん:2006/06/29(木) 11:55:22
#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コードを中途半端に理解した人に稀にある話
434デフォルトの名無しさん:2006/06/29(木) 11:56:16
#include <stdlib.h>消し忘れたorz
435デフォルトの名無しさん:2006/06/29(木) 16:24:29
えぐいね、そゆーの書く人って

if ((n < 10) && (n >= 10)) {
printf("正常終了。");
}

こんな感じのも炸裂させてるよね
436デフォルトの名無しさん:2006/06/29(木) 18:53:50
>>433
でもこれEBCDICでも動くよなw
if ( a >= 'A' && a <= 'Z' ) だとASCII前提だし。
stdlib.hを消し忘れたってのは、「is〜()があるじゃん」を避けたかったんだよね?
437デフォルトの名無しさん:2006/07/01(土) 02:05:27
そういや continue 使う使わないで Kusakabe 先生が mixi で吠えてるな
438デフォルトの名無しさん:2006/07/02(日) 15:41:49
void haitt(int el){
  haitt(el);
}

int main(){
  int el = 0;
  haitt(el);
}
439デフォルトの名無しさん:2006/07/03(月) 13:04:59
>>437
某Cの入門書では、continueの説明に「めったに使わない」と書かれてる。
そういう決め付けを入門書でしてしまうのは、よくないと思った。
440デフォルトの名無しさん:2006/07/03(月) 23:20:45
俺は普通にcontinueよく使うが・・・・・・
gotoはあまり使わないな
というより使わないように心がけてる
441デフォルトの名無しさん:2006/07/04(火) 00:58:49
continueは普通に使うよな。
ループ内でifとかのインデントが1段解消できる場合なんかは積極的に。
442デフォルトの名無しさん:2006/07/04(火) 20:43:17
gotoは、使った方がすっきりする場合には使う。
「gotoを使わない==構造化」でもないしね。
443デフォルトの名無しさん:2006/07/04(火) 20:54:16
gotoはbreak一発で抜けられないループ内から抜けるときに便利だな。
444デフォルトの名無しさん:2006/07/04(火) 21:33:32
Cは多重ネストからの脱出ができないからその場合はgoto使わざる得ないな
445デフォルトの名無しさん:2006/07/04(火) 21:55:58
>>438
不覚にもワロタ
446デフォルトの名無しさん:2006/07/09(日) 00:26:45
とあるフリーソフトは、getenv("PATH")の先頭が'/'かどうかで
UNIXとMS-DOSを見分けてる(どっちでも動くソース付き)。
なかなかに邪悪っぽい。
447デフォルトの名無しさん:2006/07/09(日) 02:41:42
OS振り分けでかなりの確率で無視されるMac
448デフォルトの名無しさん:2006/07/09(日) 03:02:38
×かなりの確率で
○ほぼ確実に
449デフォルトの名無しさん:2006/07/09(日) 03:32:57
>>446
なぜ動的にやろうとするのか理解に苦しむね。
450デフォルトの名無しさん:2006/07/11(火) 10:14:17
>>10
奈良の大和高田市
加護建設の運転手になれば
もれなく、もらえるらすい。
加護の実家
451デフォルトの名無しさん:2006/07/17(月) 22:28:45
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

|喫煙室| λ............トボトボ
453デフォルトの名無しさん:2006/08/05(土) 21:50:03
つ man wc
454デフォルトの名無しさん:2006/08/11(金) 23:59:35
#include <stdio.h>
int main(int ac, char *av[])
{
  __int64 a = 2981335618776963;
  printf("%s", &a);
  return 0;
}
455デフォルトの名無しさん:2006/08/23(水) 22:12:32
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型の実体 同士の比較
}

456デフォルトの名無しさん:2006/08/24(木) 20:59:20
凶悪だな
457デフォルトの名無しさん:2006/08/26(土) 05:23:06
>455
凶悪というか、芸術だなコレ

pが*の数 aが[  ]の数だな。



458デフォルトの名無しさん:2006/08/28(月) 18:48:59
これは関数型と関数名がよく判らないところが凶悪なのか
459デフォルトの名無しさん:2006/08/30(水) 19:52:09
main蹂躙がかなり邪悪でいいかんじ。
460デフォルトの名無しさん:2006/10/01(日) 09:49:07
>>447
Macは最初に"/"がつくだろ
461デフォルトの名無しさん:2006/10/03(火) 23:30:08
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)
)
)
)
;
}
462デフォルトの名無しさん:2006/10/04(水) 02:49:37
故意にやってるんだよなこういうの
463デフォルトの名無しさん:2006/10/04(水) 04:41:50
>>461
良く出来てるというか、コレくらいコーディングできるなら優秀なフリーウェア作れと・・・
それにしても、これはこれで良く出来てるな。動作がおもろい。
464デフォルトの名無しさん:2006/10/04(水) 18:21:24
できることは知ってたけどここまでできるとは思わなかった。
スゲェなー。
でも読みたくねえなーw
465デフォルトの名無しさん:2006/10/04(水) 23:51:55
すんげぇ、、ネ申記念age・・・
466c⌒っ*゚д゚)っ:2006/10/04(水) 23:55:09
JavaOnly初心者なんだけど
見るからに危なそうなこれはどうなるんだろうか??????????????
467デフォルトの名無しさん:2006/10/05(木) 00:37:41
スレ立てからもうすぐ4年
世の中恐ろしい奴がいるもんだな。
468デフォルトの名無しさん:2006/10/05(木) 01:07:55
Cのスパゲッティーソースじゃなく
クラスの入り混じったクラスパゲッティをつくれ↓
469デフォルトの名無しさん:2006/10/05(木) 01:14:07
>>468
スレの趣旨と無関係
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;
}
472デフォルトの名無しさん:2006/10/05(木) 07:31:09
>>471
酷い かわいそう 許してあげて
473デフォルトの名無しさん:2006/10/05(木) 11:47:14
あたま痛くなるスレだなw
474デフォルトの名無しさん:2006/10/05(木) 16:51:59
class X
{
X(){ X x; };
};

って書いて通るのだろうか
475デフォルトの名無しさん:2006/10/05(木) 17:03:46
通る
476デフォルトの名無しさん:2006/10/05(木) 19:17:44
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)));}

どうよ?読めるか?
477デフォルトの名無しさん:2006/10/05(木) 23:53:17
K&R C ですか。古すぎて読めない(^_^;
478デフォルトの名無しさん:2006/10/06(金) 01:22:45
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);
  }
}

こーゆーことか
479デフォルトの名無しさん:2006/10/06(金) 05:52:05
>470
これってどうなってるの?
bccだけど int main=-61; だけ書いた.cファイルがコンパイル通った…
480デフォルトの名無しさん:2006/10/06(金) 09:39:42
>>479
どうもならない。その一行だけのファイルをコンパイルしたらmainはint型の
初期値-61のグローバル変数として定義される。
しかしmain関数は定義されないのでリンク時にエラーがでて実行ファイルは
生成されない。
481デフォルトの名無しさん:2006/10/06(金) 10:28:53
>>479
-61はリトルエンディアンではc3 ff ff ffで、c3はx86のretだから、
mainは呼び出されたら即座に返る関数として解釈できる。
ランタイム系がmainを呼ぶと、グローバル変数mainを置いてあるアドレスに
ジャンプすることになり、そこにある値をコードとして実行する。
この呼び出しは即座に返るので、結局プログラムは正しく終了する。
482480:2006/10/06(金) 12:35:24
なるほど、そういうからくりがあったのか。確認しないで書き込んでスマン。
確かに実行ファイルも生成されたが、うちの環境では即落ちた。なぜだ??
483デフォルトの名無しさん:2006/10/06(金) 14:05:18
ある程度コンパイラを選ぶでしょ。
484480:2006/10/06(金) 14:28:41
DEPが原因だった。DEP切ったらちゃんと(?)動いたよ。
485デフォルトの名無しさん:2006/10/06(金) 15:15:25
ジョニー?
486デフォルトの名無しさん:2006/10/06(金) 23:01:50
>>471
ワロタ
487デフォルトの名無しさん:2006/10/07(土) 02:43:12
>>482
最近のコードはセキュリティ上の理由から実行領域への書き込みを認めないものがほとんど。
自己書き換えなんてのは流行らないわけですよ。
投機実行あるしね。
488デフォルトの名無しさん:2006/10/07(土) 07:05:35
いや、この場合mainは.dataセクションに置かれるはずなので値の書き込みは
何ら問題ない。そもそも初期値-61は予め実行可能ファイルの中に埋め込まれて
おり、実行を開始した時点(OSが実行可能ファイルをメモリにロードし、PCを
エントリーポイントに設定した時点)で既にmainには値-61が格納されているので
データの書き込みすら発生しない。
489デフォルトの名無しさん:2006/10/07(土) 08:57:22
データセクションを実行できるかどうかかな。
できるんだったら、

char main[] = {0x3e, 0xaa, .... } (数値は適当)

みたいにマシンコード書けば実行されるのかな。
490デフォルトの名無しさん:2006/10/07(土) 09:25:42
実際に作ってみた
int main(void) { return 0; }
ではcodeセクションに,
int main=-61;
ではdataセクションに置かれる
codeセクション以外を実行できるかは,環境によるからね
DOSはできたかもしれん
491デフォルトの名無しさん:2006/10/07(土) 11:19:00
ということはCOMにすれば全部同じセグメントだからいけるんじゃね。
492デフォルトの名無しさん:2006/10/07(土) 16:41:37
32bitのEXEだって大抵は全部同じセグメントですが。
493デフォルトの名無しさん:2006/10/07(土) 20:30:08
#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では無効な命令に飛んで落ちた。
494デフォルトの名無しさん:2006/10/07(土) 20:54:19
おれも試してみる。ハードウェア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>
495デフォルトの名無しさん:2006/10/07(土) 23:57:34
すげえ。
邪悪すぎる。
496デフォルトの名無しさん:2006/10/08(日) 00:21:21
ここはContent-Type: application/evilなインターネットですね。
497デフォルトの名無しさん:2006/10/08(日) 07:52:03
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

;


498デフォルトの名無しさん:2006/10/08(日) 08:22:59
>>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 ]
;
499デフォルトの名無しさん:2006/10/08(日) 10:03:43
ごめん、意図してるところが全然わからないんだが、
解説願えないものだろうか。
500デフォルトの名無しさん:2006/10/08(日) 10:13:00
>>499
多次元配列のつもりなんでしょ
501デフォルトの名無しさん:2006/10/08(日) 12:14:46
上のint …は 少し変えれば文字通りキーボードの入力ビットマップになるのか。
ちょっと面白い。
でも>>497はともかく、>>498はC99じゃないとコンパイルも通らないよね。
利用価値もないのは残念。
502デフォルトの名無しさん:2006/10/08(日) 14:24:57
105!バイトとかになりそうなあたりも邪悪だなw
503デフォルトの名無しさん:2006/10/08(日) 15:28:49
その105!という数字はどこからどうやって算出したんだ?
504デフォルトの名無しさん:2006/10/08(日) 17:32:45
>>497
細かい問題はあるけど、入力I/Fを用意したら、普通にキーマップ?だね。
入力キーのORを取るってことか、なるほどね。
>>498
どちらかというと意味のないAAってところか。
>>501
105Key と言いたかったのか?
505502:2006/10/08(日) 17:48:19
>>503
106キーのキーボードだったら、F1...BSまで別々の数字をふると、
0から数字をふって105までいるよね。
(キーの識別用じゃないなら要らない。全部=0にすればサイズも小さい。)
そうすると配列サイズが105!ぐらいになりそうかなと。

まぁ実際はサイズ0の配列になりそうな気もするけど。
506デフォルトの名無しさん:2006/10/08(日) 20:20:29
サイズ0の配列ってなんだよ。それこそ邪悪な概念だな。
たとえば動的配列の実装例として(エラーチェック無しの例<邪悪だな)
 arr = realloc(arr, 0);
とかやちゃったらarrはfreeされるんだぞ。
507デフォルトの名無しさん:2006/10/08(日) 20:26:22
>>505
意味が解らない。
じゃあ、105になるように添え字いれてみてよ。
絶対無理だから。
508デフォルトの名無しさん:2006/10/08(日) 20:27:54
105! = 1081396758240290900504101305800329649720646107774902579144176636573226531909905153326984536526808240339776398934872029657993872907813436816097280000000000000000000000000
509デフォルトの名無しさん:2006/10/08(日) 21:17:22
いい感じに速くなってきたな
510デフォルトの名無しさん:2006/10/08(日) 21:18:47
誰か実用的なキーマップに改良しないのか?
511デフォルトの名無しさん:2006/10/08(日) 21:44:58
そんな>>510にはドボルザーク配列をお薦めする。
別に今のままでもいいじゃ真烏賊。
512デフォルトの名無しさん:2006/10/09(月) 00:57:43
へー、dvorakをドボルザークなんて読むのもアリなのかよ。
http://www.google.co.jp/search?q=%E3%83%89%E3%83%9C%E3%83%AB%E3%82%B6%E3%83%BC%E3%82%AF%E9%85%8D%E5%88%97
513デフォルトの名無しさん:2006/10/09(月) 09:51:27
音楽家とごっちゃになったんだらう。
つか俺はデボラックと読むが、おまいらはなんて読む。
514デフォルトの名無しさん:2006/10/09(月) 10:03:18
原語(オーストリアとかドイツとかそっち系)だとたぶんドヴォルザークが近い。
俺は ドゥ・ヴォラック みたいに発音してドボラックと書く。
ドヴォルザークも読みやすくていいと思うけどね。
515デフォルトの名無しさん:2006/10/09(月) 12:24:43
Dvorak をドヴォルザークと書いてあるのを見てなるほど、と思った俺の立場は。

で、Wikipedia でちょい調べてみた。
音楽家のドヴォルザークの方もアクセント記号を抜くと Dvorak という綴り。
http://en.wikipedia.org/wiki/Anton%C3%ADn_Dvo%C5%99%C3%A1k
ただし俺にはドヴォラーク、ドヴォリャーク、ドヴォザークあたりに聞こえる。

で、Dvorak配列の開発者、August Dvorak 博士は音楽家の方と遠い親戚。音楽家の方は↑のような発音だが、
博士の家族はアメリカではドゥヴォラックと発音していたそうな。
http://en.wikipedia.org/wiki/August_Dvorak

ということで、ドボラク、ドゥヴォラック系が正しい、という結論。
516デフォルトの名無しさん:2006/10/09(月) 19:28:00
>>506
サイズ0の配列って普通にあるが
517デフォルトの名無しさん:2006/10/09(月) 20:47:49
ほう。C言語の話だよな?
なにか実用的な用途があるとは思えんが。

なんかあるか>用途
518デフォルトの名無しさん:2006/10/09(月) 20:48:45
>>516
もう少し内緒にしていただきたかった・・・!
519デフォルトの名無しさん:2006/10/09(月) 20:57:08
>>517ってネタだよね?
それか若い子?
520デフォルトの名無しさん:2006/10/09(月) 22:30:52
どちらかといえば若い子のほう。

小一時間ばかり考えてみたがやはりわからない。存在意義ないんとちゃうか。
521デフォルトの名無しさん:2006/10/09(月) 23:26:37
構造体の最後のメンバ。
但し、C99だか以降はサイズ0は許されてないんで、サイズ1で。
522デフォルトの名無しさん:2006/10/09(月) 23:33:07
>>521
逆、C99で許されたんだよ。
523デフォルトの名無しさん:2006/10/09(月) 23:47:54
最後のメンバーをサイズ0配列にして、
サイズ可変の構造体にするのはバッドノウハウだと思う。
最初見たときびびった。
524デフォルトの名無しさん:2006/10/09(月) 23:51:09
>>523
でもそれができないと実装が面倒になるデータ構造
(ファイルフォーマット)があるから許してあげて。
525デフォルトの名無しさん:2006/10/10(火) 00:00:02
というか、規格外。
配列の範囲をオーバーするアクセスは動作未定義。
あらゆる処理系で正常に処理できることは保証されない。
それどころかコンパイルエラーで弾かれても文句も言えない。
526525:2006/10/10(火) 00:02:32
そうか、それが邪悪なのか。こりゃ失礼。
527デフォルトの名無しさん:2006/10/10(火) 00:15:38
>>525
>配列の範囲をオーバーするアクセスは動作未定義。
マジで? きっちり定義されてたものだと思ったが・・・
528デフォルトの名無しさん:2006/10/10(火) 00:24:49
宣言された配列の範囲外はアウトだろうけど、
サイズ0の配列はmalloc()で割り当てるから問題ない。
529デフォルトの名無しさん:2006/10/10(火) 01:18:49
>>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の余白が後方に
あろうが何だろうが容赦なく落とす可能性もある。
530デフォルトの名無しさん:2006/10/10(火) 01:33:56
>>529
それは落ちるでしょ。メモリ確保して無いんだから。アホですか。
サイズ0の配列定義は、共用体で真価を発揮するんだよ
531デフォルトの名無しさん:2006/10/10(火) 01:55:15
サイズ0については、C99で明確に使用可能となった。
C++でも出来た気がするが、処理系依存かもしれない(GCC等では、Cでも出来る)。

可変長構造体は、昔から使われているテクニック。
ファイルフォーマットがどうのというのは、本当のメリットではない。
(ヘッダとデータを別領域に置くやり方と大差ない)
本来は、例えば下のFAQの例において、namestrをポインタとして実体を別に持つことと比較して
mallocの呼び出しコストと管理領域(およびポインタ1つ分の領域)を節約するというのが
明らかなメリットを生かした使い方となる。

で、この可変長構造体と呼ばれるテクニックは、
C FAQにおいても、邪道ながら「全てのコンパイラで使える」と記されている。
http://www.kouno.jp/home/c_faq/c2.html#6
intのサイズを始め、ほとんどの「規格に明記されていない点」は
例外的な処理系をいくつも挙げているというのに。
532デフォルトの名無しさん:2006/10/10(火) 03:25:49
>>531が綺麗にまとめてくれた。
けど、まあ、やっぱりそれでも、普通に邪悪だよな。
むしろC99で認められたあたり、完全にプロ向けの言語仕様だから
故意的に使うなら構わないってことなのかもしらんけど、
はじめて見た時は目疑った。
533516:2006/10/10(火) 06:38:35
誰も、C言語の話ししてねーよ。
可変長構造体の話でもねーよ。

ArrayListの実装として、動的配列が使われていたりすると、
Length = 0で、当たり前の状況として、Size 0の配列ができあがるわけだが。
別に、ArrayListに限った話ではなく、生で使う場合でも、あるって話。
534デフォルトの名無しさん:2006/10/10(火) 06:45:52
不思議なのは、元々の話が「C言語での話」であって
その中で「サイズ0の配列」の話が出ているのに

一人だけが「誰もC言語の話じゃない」と叫んでいること。
535デフォルトの名無しさん:2006/10/10(火) 08:46:16
>>530
>>529は単に
>配列の範囲をオーバーするアクセスは動作未定義。
の簡単な例を挙げているだけに見えるのだが。そんなところに噛み(ry
と、どうでもいいところにつっこんでみるテスト
536デフォルトの名無しさん:2006/10/10(火) 11:31:54
>>534
しらねーよ。
オレ、C言語使いじゃないし
537デフォルトの名無しさん:2006/10/10(火) 12:29:49
でもこのスレC言語用なんだよね
538デフォルトの名無しさん:2006/10/10(火) 15:28:57
>>536
スレタイ100万回読め
539デフォルトの名無しさん:2006/10/10(火) 19:04:48
>>536
百万秒ROMってろ。
540デフォルトの名無しさん:2006/10/10(火) 21:06:30
>>536
習っとけよ。コンピュータ使いの一般教養なんだから。
541ぼるじょあ ◆yEbBEcuFOU :2006/10/10(火) 21:50:12
>>536
(・3・) エェー
542デフォルトの名無しさん:2006/10/10(火) 22:21:46
>>536の人気に嫉妬w
543デフォルトの名無しさん:2006/10/10(火) 23:04:32
>>536みたいなヤツって
友達だったら面白いヤツだけど、
会社の同僚だったら殺したいヤツだな。
544デフォルトの名無しさん:2006/10/10(火) 23:49:39
友達にしたってトイレに流すわ、こんな厨房。
545デフォルトの名無しさん:2006/11/07(火) 16:58:52
遅ればせながら、
ドヴォルザークの英語の綴りをググっている最中にここに辿り着きました。
546デフォルトの名無しさん:2006/11/07(火) 17:43:23
ドヴォルザークでなぜここにw
547デフォルトの名無しさん:2006/11/07(火) 23:06:04
ドヴォラック配列のことかー。
548デフォルトの名無しさん:2006/11/23(木) 14:12:26
>>539
それって、約11日半。
半年に満たない。
549デフォルトの名無しさん:2006/11/23(木) 19:27:02
>>548
だからもう書いてもいいんだよ。良かったね。
550デフォルトの名無しさん:2006/12/03(日) 09:13:45
main()
{
printf("ハングルい むぐるうなふ くとぅるぅ るるいえ ウリ=ナムル ダンクン\n");
}
551470:2006/12/24(日) 04:38:16
>>473
上連雀三平は、エロを通じて漫画の面白さを世に広めようとしてるんだよ。
アナルジャスティスも、となりの精液さんも、単なる通過点に過ぎない
と断言してもいい。

>>474
短編なら宇宙のよめがお勧め。
552デフォルトの名無しさん:2006/12/24(日) 16:10:49
ここは・・・
誤爆につっこむ奴が居ないほど
過疎っているのか……
553デフォルトの名無しさん:2006/12/24(日) 20:10:00
>>552
そうでもない。例えば>>552とかがつっこんでる。
554デフォルトの名無しさん:2006/12/28(木) 21:02:57
#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;
556デフォルトの名無しさん:2007/01/13(土) 03:37:35
>>555
もっと短いC言語ソースコード

;
557デフォルトの名無しさん:2007/01/13(土) 03:51:42
最高に短い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で書いたら最適化と称してものすごく邪悪なコードになりそうだな
560デフォルトの名無しさん:2007/01/14(日) 01:00:13
既にcで書かれているわけだが
561デフォルトの名無しさん:2007/01/14(日) 01:17:52
read.cgiってcだったんだっけ
562デフォルトの名無しさん:2007/01/14(日) 07:12:41
read.cgiだけCだったかと。
563デフォルトの名無しさん:2007/01/14(日) 12:41:19
Cじゃなきゃ処理できないでしょ、リクエスト数的に。

UNIX板の連中が書き直したんじゃないっけね、第1次消滅危機のとき。
564デフォルトの名無しさん:2007/01/14(日) 16:43:24
ちぇっく
565デフォルトの名無しさん:2007/01/15(月) 02:50:02
80行ローグライク
http://www.asahi-net.or.jp/~KH4S-SMZ/roguelike/rogue80/index.html
これは恐らく、数々のRogueプレイヤかつプログラマにとって真に*邪悪*なコードに違いない!-more-
566デフォルトの名無しさん:2007/01/15(月) 11:48:39
>>565
すげええww
567デフォルトの名無しさん:2007/01/15(月) 12:03:21
でも80行という565の書き間違いは凄さを矮小化してるな。

80字*n行を目指してる、が正解な。
568デフォルトの名無しさん:2007/01/15(月) 21:51:24
17行かよw
怪 物 め
569デフォルトの名無しさん:2007/04/07(土) 19:28:09

int i;

void main(void)
{
hogehoge();
}







570デフォルトの名無しさん:2007/04/07(土) 19:40:17
とっくにあった
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とか使わずに素数を求めるプログラム。
572デフォルトの名無しさん:2007/07/02(月) 22:31:45
loopって関数使ってるやん(ノー`)
573デフォルトの名無しさん:2007/07/03(火) 07:47:51
ifも使ってないの名
574デフォルトの名無しさん:2007/07/05(木) 12:27:08
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;
}
575デフォルトの名無しさん:2007/07/05(木) 15:20:04
>>574
エラーにならないか?
576デフォルトの名無しさん
一段すくねえよw