C言語の学習をしているのですが、以下の問題で詰まってしまい先に進めません。
scanf関数を使用して入力された文字列を配列に格納し、printf関数で配列の中身を表示するプログラムを作成しています。
入力された文字列が英数字なら問題ないのですが、日本語を入力すると、入力した文字が配列に格納されません。
英数字と違って日本語は1文字を表現するのに2~3バイト使用する為、ただscanf関数を使用するだけでは意図した動作にならないということまでは理解できたのですが、具体的にどう作成したコードを修正すれば意図した動作になるのか分かりません。
setlocale関数など使用してみましたが、正確に使い方を理解できていない為か、うまくいきません。
以下に作成したコードを記載しますので、どのように修正を加えたら意図した動作になるかご存知の方いらっしゃいましたら教えていただきたいです。よろしくお願いいたします。
C言語
1#include <stdio.h> 2 3int main(void) 4{ 5 6 char moji[256]; 7 8 scanf("%s",moji); 9 10 printf("%s\n",moji); 11 12 13 return 0; 14 15}
回答2件
あなたの回答
tips
プレビュー