c - c程序if else if语句
问题描述
在第二个和第三个 else if 语句中面临问题。当我运行代码时,它显示第一个 if 和第一个 else if 语句的 printf 语句,除了它自己的 printf 语句。如何解决它请帮助任何人
#include <stdio.h>
int main()
{
int sci_score, maths_score;
printf("enter your sci score:", sci_score);
scanf("%d", &sci_score);
printf("enter your maths score:", maths_score);
scanf("%d", &maths_score);
if(sci_score>=33, maths_score>=33)
{
printf("you are awarded with ruppees 45");
}
else if(sci_score>=33, maths_score<33)
{
printf("you are awarded with ruppees 15. work hard in maths");
}
else if(sci_score<33, maths_score>=33)
{
printf("you are awarded with ruppees 15. work hard in sci");
}
else if(sci_score<33, maths_score<33)
{
printf("work hard in sci and maths");
}
return 0;
}
解决方案
您需要做的就是删除,
if/else if 语句中的逗号并替换为&&
this 意味着 if/else if 块中的两个条件都需要为真,才能显示打印语句,
更新代码:
#include <stdio.h>
int main()
{
int sci_score, maths_score;
printf("enter your sci score:", sci_score);
scanf("%d", &sci_score);
printf("enter your maths score:", maths_score);
scanf("%d", &maths_score);
if(sci_score>=33 && maths_score>=33)
{
printf("you are awarded with ruppees 45");
}
else if(sci_score>=33 && maths_score<33)
{
printf("you are awarded with ruppees 15. work hard in maths");
}
else if(sci_score<32 && maths_score>=33)
{
printf("you are awarded with ruppees 15. work hard in sci");
}
else if(sci_score<33 && maths_score<33)
{
printf("work hard in sci and maths");
}
return 0;
}
推荐阅读
- extjs - 无法在 Ext.grid.PagingToolbar Extjs 上绑定存储
- android - 在 Ubuntu 18.04 上缺少适用于 Android 的 Xamarin 文件
- vue.js - vue js app yarn serve 失败,退出代码为 1。?
- node.js - 我应该为每条路线创建新的模式模型文件还是使用已经创建的模式?
- php - Laravel 中 Session::flash() 和 with() 的区别
- javascript - 选定范围识别
- r - 将嵌套列表转换为数据框/数据表
- azure - 天蓝色虚拟机和节点之间的区别
- mysql - 当 select 语句不输出任何行时,如何将数据插入到表中(并返回)?
- prolog - Prolog中偶数和奇数的两种实现之间的区别