
No.2ベストアンサー
- 回答日時:
C言語の型は、数字や文字に分類されているように見えますが、
実際には変数の大きさを示すだけだと考えることもできます。
つまりcharならASCIIコードが収められるように8bitの大きさで、
intは(32bitのwindowsなら)32bitです。
それを数値として考えたときには、
char は-127~127、intは-68719476734~68719476734までの整数として表されます。
なので、
char a,b;
a = 1;
b = 2;
printf("%i",a+b);
などとすれば3が表示されるはずです。
No.4
- 回答日時:
char型自体で計算する方法は皆さんご指摘されていますので、
ちょっと違う視点から回答させていただきます。
{
char*str = "Hello world!\n";
printf("%s",str);
str += 6;
printf("%s",str);
return;
}
上のプログラムで出力結果は次のようになります。
Hello world!
world!
No.1の方の指摘するアドレス計算(個人的にはポインタ計算)の例です。
もしかしたらこっちのことかな?と思って書かせていただきました。(^^;
補足:
8ビットchar型の演算可能範囲は
signedで-128~+127
unsignedで0~255です。
32ビットint型は
signedで-2147483648~+2147483647
unsignedで0~4294967295です。

No.3
- 回答日時:
No.1の方もご指摘のように、実際にはchar型には文字ではなく、数値が入っています。
参考URLのように文字が数値に置き換えられてコンピューターは処理します。コンピュータが0と1の二つの数値しか扱えないことから想像は出来ると思います。それで実際の試験では文字コードとかは問題に書かれていなかったのでしょうか?例えばa=61とするとか、それともアスキーコード表を使えとか。
参考URL:http://hp.vector.co.jp/authors/VA008536/data/asc …
この回答への補足
>それで実際の試験では文字コードとかは問題に書かれていなかったのでしょうか?例えばa=61とするとか、それともアスキーコード表を使えとか。
両方無かったと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ncursesで...
-
'const char *' 型は 'char *' ...
-
strncpyと_tcsncpy_sのヌルの扱...
-
charからLPTSTRへの変換方法
-
間接参照のレベルが異なっています
-
C言語のfor文です。 繰り返しの...
-
enumの記述について。
-
構造体のアライメント調整
-
テキストデータをそのままバイ...
-
scanf()について教えてください
-
ネットワークにつながっている...
-
エンディアン:2バイトのデー...
-
RGB→YUV変換のプログラム
-
fgetsなどのときのstdinのバッ...
-
#include <stdio.h> #include <...
-
YUV⇔RGB変換がうまくいきません。
-
atoi( ) の反対をやりたい
-
javaでunsignedは使えないので...
-
C言語 バイナリファイルをfloa...
-
pingの結果を取得する方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
fgetsなどのときのstdinのバッ...
-
C言語のfor文です。 繰り返しの...
-
文字列から空白を取り除きたい...
-
テキストデータをそのままバイ...
-
2曲同時再生するにはどうした...
-
配列をnビットシフトする
-
CStringをwchar_tに変換したい
-
c++ 文字列を入力して、一文字...
-
charからLPTSTRへの変換方法
-
atoi( ) の反対をやりたい
-
間接参照のレベルが異なっています
-
charでの計算?
-
c言語プログラミング実行時エラ...
-
double型の値をchar配列に変換...
-
str系関数を使わずに二つの文字...
-
間接操作のレベルとは
-
3桁区切(コンマ)記号をつけ...
-
iconv_open失敗
-
【C言語】構造体内の領域解放(...
-
ftoa の作り方
おすすめ情報