- 80 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 13:59:24 ]
- > a=getchar();
getcharはEOFも返すのでint型を返すと宣言されており、実は正解。 EOFの場合を弾いてからchar型として扱うべき > printf("%c\n",a); 可変個引数では全てint以上に拡張されて引数が渡される規則。 char型の値を渡そうとint型の値を渡そうと正常に動いてしまう。 > int a[50]="Hello"; できないという規則になっているからとしか言えない。 int型の配列に文字列を無理やり入れる方法はあるが、 文字列を扱う関数はchar配列、つまりsizeof (char) == 1バイトずつ 文字がメモリに格納されることを前提にコードが書かれているので、 無理にint型の配列にしたところで、正しく動作しない。
|

|