全角文字は一文字につき2バイトで表現されると認識しています。そのため、以下のようにすれば
c
1#include <stdio.h> 2int main() 3{ 4 char s[][3]={"赤","青"}; 5 printf("%s",s[0]); 6 return 0; 7}
列1 | 列2 | 列3 |
---|---|---|
(あ | か) | \0 |
(あ | お) | \0 |
のように配列に入り、((あか)は『赤』で2箇所使っているということです。)
実行すると、s[0]の部分の
赤
のみが表示されると思ったのですが、実際は
赤青
となりました
なぜこのようになるのでしょうか。
ちなみに、
char[][3] のところを char[][4] とやると 赤 のみが表示されるようになりました。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/22 23:47