#include <stdio.h>
#include <math.h>
float grade, ttlgrade = 0;
int count = 0;
char opt;
void AverageGrade(float grade);
int main()
{
while(1)
{
printf("Do you want to enter another grade?(Y or N)\n");
scanf("%c", &opt);
if (opt == 121 || opt == 'Y')
{
break;
}
else if (opt == 'n' || opt == 'N')
{
printf("Program Ended.\n");
break;
}
else
{
printf("Invalid input! Please re-enter!\n");
continue;
}
}
return 0;
}
各位好!我是超级小白,遇到了问题想请求大佬帮助!这是我的代码的一部分,以提示用户选择是否要输入其他成绩。 我在第一次循环输入“ a”,如下面的截图所示,得到了正确的响应。

然后,代码应该引导用户在第二个循环中输入‘opt’ 的值; 但是,我的代码不允许我在第二个循环中输入‘opt’的值,直接跳到了第三个循环,我在下面附加了屏幕截图,


它打印了两次“ Invalid ... Do ...”。 在第三个循环中,倒允许我输入变量‘opt’的值了,我输入了’N‘。 它给了我算是正确的反馈。
有没有大神能指点下我为什么,哪些地方有问题啊,谢谢!拜谢!