C言語でscanfを使って文字配列に値を代入するには、
scanf 関数で文字配列に値を代入するには、文字配列の名前と文字列形式指定子 %s を使用することができます。
例えば、strという文字配列があれば、strに標準入力を代入するコードは、次のようになります:
char str[100];
printf("请输入字符串:");
scanf("%s", str);
上記例では、ユーザは文字列の入力を促され、scanf 関数によって入力された文字列が文字配列 str に代入されます。フォーマット制御文字 %s は、スペース、タブ文字、または改行文字が検出されると自動的に読み込みを停止することに注意してください。
改行文字を含む文字列を入力する場合、改行文字以外のすべての文字を読み込む%[^\n]フォーマット修飾子を使用できます。例:
char str[100];
printf("请输入字符串:");
scanf(" %[^\n]", str);
上記の例では、%[^\n]書式制御記号は改行文字を除くすべての文字を読み込み、スペースも含まれます。前のスペースは前の行の改行を消費するためのものであることに注意してください。