teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記

2015/07/21 10:19

投稿

ngyuki
ngyuki

スコア4516

answer CHANGED
@@ -5,4 +5,9 @@
5
5
  シフトJISの先導バイトを検出しようとしているようなので Hello なら 0 0 0 0 0 ではないかと思います。
6
6
 
7
7
  > どうしてputchar(getchar()、もう一つ必要なんですか?
8
- 先導バイトの次にある後続バイトを読み込んで出力するためです。
8
+ 先導バイトの次にある後続バイトを読み込んで出力するためです。
9
+
10
+ もう少しわかりやすく言い換えると・・・
11
+
12
+ Shift_JIS ではいわゆる全角文字は2バイトで構成されています。が、getchar は1バイトしか読み込みません。
13
+ そのため、getchar で読み込んだ文字が全角文字の1バイト目であるかどうかを判別して、もしそうなら、その次には全角文字の2バイト目があるはずなので、それを putchar(getchar()) で、読んで、読んだ内容をそのまま出力しています。

1

数値→整数

2015/07/21 10:19

投稿

ngyuki
ngyuki

スコア4516

answer CHANGED
@@ -1,5 +1,5 @@
1
1
  > 0x81とか何っていうんですか?
2
- リテラル。とか、16進数リテラル、とも呼ばれるかもしれません。
2
+ 数リテラル。とか、16進数リテラル、とも呼ばれるかもしれません。
3
3
 
4
4
  > Helloって入力したとして、10100001とかが帰ってくるの?
5
5
  シフトJISの先導バイトを検出しようとしているようなので Hello なら 0 0 0 0 0 ではないかと思います。