次のコードを出力×
、main()の`来る:はどのようにいくつかの理由で、{のputchar(&main);} `出力`× `
int main() {
putchar(&main);
}
これはなぜ起こるのでしょ
次のコードを出力×
、main()の`来る:はどのようにいくつかの理由で、{のputchar(&main);} `出力`× `
int main() {
putchar(&main);
}
これはなぜ起こるのでしょ
main
が関数であります?。 &main
は整数型にキャストすることができます関数のアドレスです。
putchar
単にstdoutにその文字を置きます。
コードは実際に整数型にキャストしません。そして、なぜあなたがchar型(putcharへのパラメータは 'int')を記述したのか分かりません。 –
char型については申し訳ありません。私は答えを編集します。 –
キャストは関数ポインタから整数に、明示はなく、暗黙的なものではありません。 –
義和それ以外は期待しましたか? –
@KerrekSBは、おそらくセグメンテーションフォールト 'のようなもの(コアダンプ)'セグメンテーションフォールトを保証Cには何も – Pavel
ありません。 (あったとしても、それはむしろ不合理な期待だろう '文字を取るputchar'それが故に逆参照、アクセス、何もしません。。。) –