ページ内ジャンプ:

アレゲなニュースと雑談サイト

Endows の日記から検索

Endows (8644)

Endows
(メールアドレス非表示)
http://yoheie.web.infoseek.co.jp/

へっぽこプログラマ。
2008 年 11 月 20 日
PM 07:00
変なモノ ↓こんなの書いてみてしまった。

---- (ここから) ----
#include <stdio.h>

#define C c(
#define run .Run
#define RUN Run+
#define PLEASE Please))&&

char *f(char *a, int b, int c)
{
        return a + b + c;
}

struct {
        char *(*c)(char *, int, int);
        struct {
                char *Run;
        } Run;
} code = { f, { " Segmentation fault (core dumped)\n" } };

int (*c)(const char *, ...) = printf;
int Code, Run, Please;

int main(void)
{
        return

                C code.
                C code run.
                Run, Code, RUN!
                        PLEASE!!!!

        0;
}
---- (ここまで) ----

関数 f の中身とかマクロ置換 PLEASE とかを工夫すればもっと変態的にできそう。やらないけど。

-- 追記 --
当初は Hello world だったけど、走ってないように見せかけるために core dumped にしてみた。
表示オプション しきい値:
  • #include <stdio.h>
    #define C c(
    #define run .Run
    #define RUN Run+
    #define PLEASE Please));return
    char*f(char*a,int b,int c){return a+b+c;
    }struct{char*(*c)(char *,int,int);struct
    {char*Run;}Run;}code={f,{" Segmentation"
    " fault (core dumped)\n"}};int(*c)(const
    char*,...)=printf;int Code,Run,Please;

    int main(void){

            C code.
            C code run.
            Run, Code, RUN!
                    PLEASE!!!!

    0;}
    --
    The Only Nerd Thing To Do
    -たったひとつのアレゲなやりかた-