アカウント名:
パスワード:
#include int main(){ printf("Good-bye, world\n"); return 0;}
while(1)か。Cは不滅です。
#やべー泣ける
free(dmr); /* R.I.P */
そこは K&R 的に void main() でしょう。
彼の遺したものは型にはまるようなものではないはず。
当時はvoid型って存在していなかったはず.
私もよく知らないけど、int を書かずにいきなり main() だったような。
K&Rも知らないなんて嘆かわしい。
main(argc, argv)int argc;char *argv[];{ printf("Good-bye, world\n");}
/* K&R 2nd editionとしては、*/
#include
void main(){ printf("Good-by, world");}
/* だと思います。(笑 */
stdio.h くらい include しようよ・・・
// 今ためしたら include なしで普通にコンパイルできちゃったけど
多分だけど、エスケープせずに<stdio.h>って書いちゃってHTMLタグと誤認されて除去されたのではないかと。
ネタにマジレスかもしれないけど。私の持ってる日本語訳(もちろん Second Edition)では
#include <stdio.h>
main(){ printf("hello, world\n");}
なんだよね。スラドでも main() の戻り値が void って誤解はメジャーなのかな?あと、hello, world は Hello, World が正しいって主張する人もときどき見かける。ひょっとして英語版ではそうなってるの?
main() { printf("hello, world\n"); }
です。 #include なしでprintfをつかっても文句を言わないのが当時のCコンパイラ。未知の関数はとりあえず整数戻り値扱いで文句言わずにコンパイル。
関数のプロトタイプ宣言も無いですからね. 関数が想定しているパラメータが呼び出しの際に渡されなかったらどうなるかは, 確か実装依存.
だから, そうした型の不一致に伴うエラーは実行時にならないと分からないとか.
確か実装依存.
未定義じゃないですか。きっと。
ただ、当時は事実上、intとdoubleしか渡さないようなものだったので、派手な問題にはなりにくかったのではないかと推測しますけど。
>当時は事実上、intとdoubleしか渡さないようなものだった
みんなの好きなポインタもあるし、構造体もあるよ。さらに、unionだったら、どうなるかな?
型を指定せずに定義した関数はintを返すと仮定されます。voidではありません。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
人生unstable -- あるハッカー
遺言 (スコア:2)
#include
int main()
{
printf("Good-bye, world\n");
return 0;
}
Re:遺言 (スコア:2)
while(1)か。Cは不滅です。
#やべー泣ける
Re:遺言 (スコア:2)
free(dmr); /* R.I.P */
Re:遺言 (スコア:1)
そこは K&R 的に void main() でしょう。
Re:遺言 (スコア:2)
彼の遺したものは型にはまるようなものではないはず。
Re:遺言 (スコア:1)
当時はvoid型って存在していなかったはず.
Re: (スコア:0)
私もよく知らないけど、
int を書かずにいきなり main() だったような。
K&R (スコア:0)
K&Rも知らないなんて嘆かわしい。
main(argc, argv)
int argc;
char *argv[];
{
printf("Good-bye, world\n");
}
Re: (スコア:0)
/* K&R 2nd editionとしては、*/
#include
void main()
{
printf("Good-by, world");
}
/* だと思います。(笑 */
Re: (スコア:0)
stdio.h くらい include しようよ・・・
// 今ためしたら include なしで普通にコンパイルできちゃったけど
Re:遺言 (スコア:1)
多分だけど、エスケープせずに<stdio.h>って書いちゃってHTMLタグと誤認されて除去されたのではないかと。
Re: (スコア:0)
ネタにマジレスかもしれないけど。私の持ってる日本語訳(もちろん Second Edition)では
#include <stdio.h>
main()
{
printf("hello, world\n");
}
なんだよね。
スラドでも main() の戻り値が void って誤解はメジャーなのかな?
あと、hello, world は Hello, World が正しいって主張する人もときどき見かける。
ひょっとして英語版ではそうなってるの?
Re:遺言 (スコア:2)
main()
{
printf("hello, world\n");
}
です。 #include なしでprintfをつかっても文句を言わないのが当時のCコンパイラ。未知の関数はとりあえず整数戻り値扱いで文句言わずにコンパイル。
Re:遺言 (スコア:1)
関数のプロトタイプ宣言も無いですからね. 関数が想定しているパラメータが呼び出しの際に渡されなかったらどうなるかは, 確か実装依存.
だから, そうした型の不一致に伴うエラーは実行時にならないと分からないとか.
Re:遺言 (スコア:1)
未定義じゃないですか。きっと。
ただ、当時は事実上、intとdoubleしか渡さないようなものだったので、派手な問題にはなりにくかったのではないかと推測しますけど。
Re: (スコア:0)
>当時は事実上、intとdoubleしか渡さないようなものだった
みんなの好きなポインタもあるし、構造体もあるよ。
さらに、unionだったら、どうなるかな?
Re: (スコア:0)
型を指定せずに定義した関数はintを返すと仮定されます。voidではありません。