(我正在使用VS社区,这就是为什么我使用“ scanf_s”的原因) 我正在尝试完成一项任务,但遇到一个无论我做什么都无法解决的问题。 我的代码是=
char char_array[3];
inputchar_1D(char_array, 3);
outputchar_1D(char_array, 3);
功能是:
void inputchar_1D(char arr[], int size)
{
printf("\n\ninput : \n");
for (int i = 0; i < size; i++)
{
printf("\nEnter your character (%d) : ", (i));
scanf_s("%c", &arr[i]);
}
}
void outputchar_1D(char arr[], int size)
{
printf("output : \n");
for (int i = 0; i < size; i++)
{
printf("%c...\t", arr[i]);
}
}
输出:
input :
Enter your character (0) :
Enter your character (1) : s
Enter your character (2) : output :
... s...
...
如您所见,它正在跳过第一个scanf并转到第二个。在那里,它要求我写一个字符,一旦我这样做,它将跳过第三个字符,转到第二个函数。在那里,它将我输入的第二个字符打印为第一个字符。第二个字符为空,而第三个字符出于某种原因是“╠”怪异的符号。 问题:
谢谢您抽出宝贵的时间来帮助我...