私のCプログラムは何らかの理由で「文字を入力(D/E/F)」の直後に閉じます:私のCプログラムでscanf_s()を正しく動作させるにはどうすればよいですか?
私は印刷できるように文字[]配列に3文字を格納したいと思います彼らは後で。
Visual Studio 2017を使用していて、プログラムにエラーはありません。 printf("Enter a letter (D/E/F): ");
の後はすべてをスキップするようです。
問題はscanf_sと関係がありますが、問題の内容や修正方法を正確には分かりません。ここに私のプログラムがあります:
#include <stdio.h>
int main(void)
{
char letters[3];
char ch;
printf("Enter a letter (A/B/C): ");
scanf_s(" %c", &ch);
letters[0] = ch;
printf("Enter a letter (D/E/F): ");
scanf_s(" %c", &ch);
letters[1] = ch;
printf("Enter a letter (G/H/I): ");
scanf_s(" %c", &ch);
letters[2] = ch;
printf("You entered %c, %c, and %c.", letters[0], letters[1], letters[2]);
getchar(); getchar(); // PAUSE
return 0;
}
助けてください。
引数がありません。詳細については、「scanf_s」のマニュアルページを参照してください。それは 'scanf'ではないので、仮定はしないでください。 –
あなたは[scanf_s'関数](https://msdn.microsoft.com/en-us/library/w40768et.aspx)を間違って使用しています。 –
この質問に投稿されたソリューションを確認してください: https://stackoverflow.com/questions/21434735/difference-between-scanf-and-scanf-s –