【发布时间】:2021-11-16 13:03:21
【问题描述】:
我正在使用 cs50 在线 IDE,所以我也在顶部使用 cs50 库。我试图让它继续问“你还好吗?”这个问题。直到你说“y”或“n”(大写或小写)。
#include <cs50.h>
#include <stdio.h>
int main(void)
{
char answer;
do
{
char answer = get_char("are you okay Y/N ");
if (answer == 'y' || answer == 'Y')
{
printf("you are okay");
}
else if (answer == 'n' || answer == 'N')
{
printf("you are not okay ");
}
}
while(answer != 'y' || answer != 'Y' || answer != 'n' || answer != 'N');
}
【问题讨论】:
-
在
while条件下将||更改为&&。 -
如果你了解De Morgan's laws(我真的建议你应该这样做),那么你就会知道
answer == 'y' || answer == 'Y'的反面是notanswer != 'y' || answer != 'Y'。跨度> -
请使用标点和大写,而不是无意义的粗体格式。您寻求帮助的人会认为这是礼貌,并认为您在寻求帮助方面付出了努力。
-
@Fkhadim123 你已经得到了关于你需要在第一条评论中改变什么以及提到德摩根定律背后的原因的确切答案。
标签: c if-statement conditional-statements cs50