色々なmain関数の書き方


プログラマの書くコードには書き手の性格が現れると言われています。「Hello world」等、数行のコードを書くだけでも、生まれ育った環境(Win, PHP, …)や性格によって色々な違いが出ます。

今回はそんなmain関数の複数の書き方を紹介します。

ビギナー

int main() {
	printf("Shop %d\n", 99);
	return 0;
}

意識高い系

int main(void) {
    printf("Shop %d\n", 99);
    return 0;
}

意識低い系

int main(){
printf("Shop%d",99);
return 0;
}

ミニマリスト

int main() {
  puts("Shop 99");
}

社会不適合者

main(){puts("Shop 99");}

神経質

int main(int argc, char *argv[]) {
    int i = 99;
    printf("Shop %d\n", (int) i);
    return (EXIT_SUCCESS);
}

関わっちゃいけないタイプ

int/**/main(){printf("Shop%c%d\n",32,99);return(0);}

面倒くさいタイプ

int main(void) { return printf("Shop 99\n") - 8; }

Unixユーザ

int main(int argc, char *argv[], char *envp[]) {
	printf("Shop %d\n", 99);
	return 0;
}

Appleユーザ

int main(int argc, char * argv[], char * envp[], char * apple[]) {
    NSLog(@"Shop %d\n", 99);
    return 0;
}

Windowsユーザ

int main(int argc, char *argv[])
{
	printf("Shop %d", 99);
	return 0;
}

PHPユーザ

int main( int argc, char *argv[] )
{
	printf( "Shop %d\n", 99 );
	return 0;
}

C++ユーザ

int main(int argc, char* argv[]) {
  std::cout << "Shop " << 99 << std::endl;
}

C++マニア

auto main() -> int {
  for (char i : {83,104,111,112,32,57,57,10}) cout << i;
}

マクロ使い

#define hello int main() { puts("Shop 99"); }
hello

わかってる感出す人

#include "/home/me/shop99.c"

トライグラフ

int main(int argc, char *argv??(??)) ??<
  printf("Shop %d??/n", 99);
??>

ひねくれ者

main() <% puts("Shop 99"); %>

変態

// $ ./a.out Shop 99
int main(int c, char **v) {
 return ~-c--?(main(c,v)*printf("%s%c",*(c+v),~-c?10:32)):0;
}

おっさん・古参・仙人

main(argv, argv, envp)
int argc;
char **argv;
char **envp;
{
    int i;
    
    i = 99;
    printf("Shop %d\n", i);
    
    exit(EXIT_SUCCESS);
}

昔はこういうコードを書くと報酬が上がりました。行数が多いプログラムの方が沢山お金がもらえたのです。

変更履歴(2016-08-29)

URLを変更(http://marycore.jp/coding/main-function-styles/)

広告