ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
Lemon さんが書きました: ↑3年前
charは文字専用、intは整数専用と書いてありましたが、
そんなこと、どこに書いてありましたか?
charもintも、幅(使うメモリの量、扱える数値の範囲)が違うだけで整数型です。
(また、int型は必ず符号付き、char型が符号付きかは環境による、という違いもあります)
コンピュータにおいては、文字に数値(キャラクターコード)を割り当てて扱うことが一般的です。
Lemon さんが書きました: ↑3年前
下のコードはエラーなく動きます。
どういうことなのでしょうか。。。
printfの書式%cは、int型の値を要求します。
可変長引数として渡されたchar型の値は、自動的にint型に変換されます。
Lemon さんが書きました: ↑3年前
また、intにも文字を入れられるとしたらchar型は必要なのでしょうか?
例えばchar型が1バイト、int型が4バイトの環境の場合、
バイト列を扱いたいのにint型を使ってしまうと、メモリの消費量が4倍になるか、
各バイトにアクセスするのにいちいちビットシフトなどをしないといけない、といった不都合が生じます。
よって、char型も必要と考えられます。