[ad_1]
C++
#include<stdio.h> int main() { int marks; printf("Enter the Marks:"); scanf("%d", &marks); if("marks >= 95"){ printf("Grade is A+ \n"); } else if("marks > 80 && marks < 95"){ printf("Grade is B+ \n"); } else if("marks > 70 && marks < 80"){ printf("Grade is B \n"); } else { printf("Grade is C \n"); } printf("Thank you!"); return 0; }
我尝试过的:
我已经了解了 if 和 else if 函数。 我尝试编译代码,但它没有按预期运行。
解决方案1
C++
if("marks >= 95"){ ^ ^
你已经把你的 if
双引号中的表达式意味着它们永远不会被计算*。 只需删除引号,以便编译器可以构建正确的表达式测试。
*实际上,因为字符串不是 NULL
他们总是评价为 TRUE
。
解决方案2
if
和 else if
不是函数。 它们是语言结构。
你说你学到了 if
,但还不够。 不要将条件表达式放在引号内。
C++
if("marks >= 95"){
变成
C++
if(marks >= 95) {
由于您是初学者,我强烈建议您将左大括号放在自己的线上,这样您就可以更轻松地跟踪哪些大括号彼此对齐。
C++
if (marks >= 95) { printf("Grade is A+ \n"); }
解决方案3
补充一下,您几乎肯定有一个可以帮助您的工具:它称为调试器。 如何使用它取决于您的编译器系统,但是快速 Google 一下您的 IDE 名称和“调试器”应该会为您提供所需的信息。 它的作用是允许您逐行执行代码并查看变量以了解它们包含的内容,并跟踪代码运行时的位置。
在函数的第一行放置一个断点,然后通过调试器运行代码。 然后查看您的代码和数据并找出应该手动发生的情况。 然后单步执行每一行,检查您期望发生的情况是否确实发生。 如果不是,那就是你遇到了问题,你可以回溯(或再次运行它并更仔细地查看)以找出原因。
抱歉,我们无法为您做到这一点 – 您是时候学习一项新的(并且非常非常有用)技能了:调试!
[ad_2]
コメント