gpt4 book ai didi

c - 关于C语法的问题

转载 作者:太空宇宙 更新时间:2023-11-03 23:34:36 25 4
gpt4 key购买 nike

我有一个 friend 正在研究一本书中的 c 示例,他编写了如下代码

#include<stdio.h>
#include<math.h>
#pragma warning(disable:4996)

int main()
{
float numGrade;

printf("\n\nPlease enter your numerical grade: ");
scanf("%f", &numGrade);

if (numGrade >= 90)
printf("\nYou got an A.\n\n");
else if (90 > numGrade >= 80)
printf("\nYou got a B.\n\n");
else if (80 > numGrade >= 70)
printf("\nYou got a C.\n\n");
else if (70 > numGrade >= 60)
printf("\nYou got a D.\n\n");
else if (60 > numGrade)
printf("\nYou got an F.\n\n");
else
printf("\nThis is an invalid grade!\n");
}

那样做有什么问题还是他应该那样做:

int main()
{
float numGrade;

printf("\n\nPlease enter your numerical grade: ");
scanf("%f", &numGrade);

if (numGrade >= 90)
printf("\nYou got an A.\n\n");
else if (90 > numGrade && numGrade >= 80)
printf("\nYou got a B.\n\n");
else if (80 > numGrade && numGrade >= 70)
printf("\nYou got a C.\n\n");
else if (70 > numGrade && numGrade >= 60)
printf("\nYou got a D.\n\n");
else if (60 > numGrade)
printf("\nYou got an F.\n\n");
else
printf("\nThis is an invalid grade!\n");
}

最佳答案

第一个例子根本行不通。

每个测试中的第一个比较将返回 0 或 1。因此它总是会失败第二个。

编辑:

但是,该程序可能仍会按预期方式“工作”,原因很简单,因为不需要在每个测试中进行第二次比较。

关于c - 关于C语法的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7396421/

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