gpt4 book ai didi

C - 涉及数组时的 Printf 复制

转载 作者:太空宇宙 更新时间:2023-11-04 01:09:48 27 4
gpt4 key购买 nike

我希望这不是一个关于堆栈溢出的基本问题。但是我有一个查询试图确定数组中的成绩数量,然后要求用户输入这些成绩中的每一个。它看起来像这样:

#include <stdio.h>


int main (void)
{
int size;

printf ("Enter The Amount Of Grades In Your Array: ");
scanf("%i", &size);/*Stores Amount Of Grades In The Array*/

char myGrades[size];
int i;

for (i = 0; i < size; ++i)
{
printf ("Enter the grade:");
scanf ("%c",&myGrades[i]);
}

return 0;
}

我希望 int i 之后的第一行是 "Enter The Grade:" 但它看起来像 "Enter The Grade:""Enter The Grade:"

我不明白为什么在第一次“输入成绩”时没有先询问我的输入就说第二次输入成绩。任何建议将不胜感激!

最佳答案

您的第一个 scanf\n 留在后面,然后下次自动再次读取它,就好像您按下了回车键一样(因此换行符存储在你的数组)。您可以改用 "%c" 来解决这个问题。该空格将删除您想要的字符之前的任何换行符或空格。

关于C - 涉及数组时的 Printf 复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15285622/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com