アカウント名:
パスワード:
私はコレ
#include studio.h
ここまでスタジオ.hに対するツッコミなし。
あまりにも「初心者の想定間違い」そのものだったので、ネタだと思ってました。<や>がないのは、/.Jの投稿システムによるものでしょう。「<」と書かないと「<」にならないとか。
にしても、mainの返値の件にせよ、今の時代にもCの初心者がいるということは、今の時代にもCを入門してくれる人がいるということを意味するので、なんだか安心してしまいました。いまどき、Cなんて古くさい言語は学ぶに値しないとされてるんじゃないかと心配だったりしたので。
初心者とかそういうんじゃなくてかなり不思議なミスだと思う。
英語が出来ないならスタジオと間違って思い込む可能性はゼロでは無いと思うけど、英語ができないにしてはスタジオの綴りが間違ってないという。
どういう思考プロセスでそういう間違いが起こったのか興味津々。
> 使用する言語によって違う
なに言語ですか?すくなくともC系の言語ではなさそうですが。
#include
int main() {
return 0;
}
今年も実りはないということでよろし?
なにを#includeしたのでしょうか?ふつう考えたら、上記プログラムには#includeは不要なはずですが、消えてしまったヘッダファイルの中に、じつは、すごいプログラムが書かれていて、returnまたは0にマクロ定義されているとか。
タイトルを見て!どこにも"C言語"なんて書いていないのよ!
そのへんの Linux で試してみたが、同じ動作にはならないみたいぞだぞ。
% echo 'main(){}' | gcc -x c - % ./a.out % echo $? 100 % ./a.out 1 2 3 % echo $? 132
C99という仕様では、returnせずにmainの最後まで到達すると、return 0だとみなされます。
ご指摘ありがとうございます。不勉強をさらしてしまいました。
echo 'main(){}' | gcc -x c -std=c99 -S -o - - してみるとたしかに movl $0, %eax がはさまってるなあ。
たぶんC89もそうだったんじゃね? 歴史的経緯か何かで(K & Rの最初のサンプルを妥当にするためとか何とか)。あとreturnを省略できるとしてもmain関数だけだと思う。C11では禁止されてそうな気もするけど(いろいろ互換規定が削除されてC++同様になった)確認してない。
main関数の引数が不定値でも、エントリポイントとして適切に機能することは保障されてたっけ?# ふつうに、いいんだったか厳密にはダメなんだったか忘れた。
誰も必要とは言ってないけど、誰と戦ってるの?
いちおう、ゼロを返していることから、正常終了しているとみなしてよろしいかな。実りはなくとも、何事もなく過ぎていくということで、平穏無事な一年を象徴しているようで、よろしいかと。
いつからEXIT_SUCCESSが0だと錯覚していた?
と書いてみるテスト。
なん…だと…?
と返してもらいたいテストなのか?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
皆さんもソースを読むときに、行と行の間を読むような気持ちで見てほしい -- あるハッカー
使用する言語によって違う (スコア:0)
私はコレ
#include studio.h
Re:使用する言語によって違う (スコア:1)
ここまでスタジオ.hに対するツッコミなし。
署名スパムがウザい?アカウント作って非表示に設定すればスッキリさ。
Re: (スコア:0)
あまりにも「初心者の想定間違い」そのものだったので、ネタだと思ってました。
<や>がないのは、/.Jの投稿システムによるものでしょう。
「<」と書かないと「<」にならないとか。
にしても、mainの返値の件にせよ、今の時代にもCの初心者がいるという
ことは、今の時代にもCを入門してくれる人がいるということを意味するので、
なんだか安心してしまいました。いまどき、Cなんて古くさい言語は学ぶに
値しないとされてるんじゃないかと心配だったりしたので。
Re: (スコア:0)
初心者とかそういうんじゃなくてかなり不思議なミスだと思う。
英語が出来ないならスタジオと間違って思い込む可能性はゼロでは無いと思うけど、英語ができないにしてはスタジオの綴りが間違ってないという。
どういう思考プロセスでそういう間違いが起こったのか興味津々。
Re: (スコア:0)
> 使用する言語によって違う
なに言語ですか?すくなくともC系の言語ではなさそうですが。
Re: (スコア:0)
#include
int main() {
return 0;
}
今年も実りはないということでよろし?
Re: (スコア:0)
なにを#includeしたのでしょうか?
ふつう考えたら、上記プログラムには#includeは不要なはずですが、
消えてしまったヘッダファイルの中に、じつは、すごいプログラムが
書かれていて、returnまたは0にマクロ定義されているとか。
Re: (スコア:0)
タイトルを見て!
どこにも"C言語"なんて書いていないのよ!
Re:使用する言語によって違う (スコア:1)
そのへんの Linux で試してみたが、同じ動作にはならないみたいぞだぞ。
% echo 'main(){}' | gcc -x c -
% ./a.out
% echo $?
100
% ./a.out 1 2 3
% echo $?
132
Re: (スコア:0)
C99という仕様では、returnせずにmainの最後まで到達すると、return 0だとみなされます。
Re:使用する言語によって違う (スコア:1)
ご指摘ありがとうございます。不勉強をさらしてしまいました。
echo 'main(){}' | gcc -x c -std=c99 -S -o - - してみるとたしかに movl $0, %eax がはさまってるなあ。
Re: (スコア:0)
たぶんC89もそうだったんじゃね? 歴史的経緯か何かで(K & Rの最初のサンプルを妥当にするためとか何とか)。あとreturnを省略できるとしてもmain関数だけだと思う。
C11では禁止されてそうな気もするけど(いろいろ互換規定が削除されてC++同様になった)確認してない。
Re:使用する言語によって違う (スコア:1)
main関数の引数が不定値でも、エントリポイントとして適切に機能することは保障されてたっけ?
# ふつうに、いいんだったか厳密にはダメなんだったか忘れた。
1を聞いて0を知れ!
Re: (スコア:0)
誰も必要とは言ってないけど、誰と戦ってるの?
Re: (スコア:0)
いちおう、ゼロを返していることから、正常終了しているとみなしてよろしいかな。
実りはなくとも、何事もなく過ぎていくということで、平穏無事な一年を象徴しているようで、よろしいかと。
Re:使用する言語によって違う (スコア:2)
いつからEXIT_SUCCESSが0だと錯覚していた?
と書いてみるテスト。
Re: (スコア:0)
なん…だと…?
と返してもらいたいテストなのか?