C语言初学者遇到个问题

写了段练习
int main()
{
double num1;
double num2;
double num3;
num3 = num1 - num2;
printf("血量值:");
scanf("%lf",&num1);
printf("攻击力值:");
scanf("%lf",&num2);
if(num1 < num2 && num3 < 200)
{
printf("濒临死亡");
}
else if(num1 > num2)
{
printf("剩余血量值:%lf",num3);
}
else
{
printf("死亡");
}
return 0;
}
运行程序,当血量大于攻击的时候为啥,显示的都是0

程序判断有逻辑问题

int main()
{
    double num1;
    double num2;
    double num3;
    
    printf("血量值:");
    scanf("%lf",&num1);
    printf("攻击力值:");
    scanf("%lf",&num2);
    
    num3 = num1 - num2;  //num3 应该加到这里
    
    
    if(num1 > num2)
    {
        if(num3 < 200)
        {
            printf("濒临死亡");
        }
        
        printf("剩余血量值:%lf",num3);
    }
    else
    {
        printf("死亡");
    }
    
    return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-04-15
num3的计算在num1和num2的输入赋值之前,无法取得合理的运算结果,请将num3=num1-num2;这句移动到if之前本回答被提问者采纳

经验分享:C语言初学者常见的 10个错误!
首先,语言使用错误常常发生在符号的使用上。在中文和英文中转换时,可能会不小心将英文符号用成中文符号,例如中文分号“;”占用了两个字节,而英文分号“;”只占用一个字节。因此,在进行编程时,需要特别注意符号的正确使用,避免因符号错误而产生的编译错误。其次,忘打分号是另一个常见的错误。在C...

大一新生,最近在学C语言,非常痛苦,怎么办? - 知乎
学习C语言的初学者经常会遇到困难,你所描述的经历我深有体会。入门阶段,C语言的特性,如指针、内存管理等,确实让人感到困惑。你可能对诸如“1\/3.0,1\/3不一样”这样的设计原理感到困惑,以及如何正确使用`scanf`和`gets`函数,甚至理解数组索引的规则等。这些都可能是让你感到痛苦的原因。解决之道...

求c语言一些常见问题,
但C语言中,“=”是赋值运算符,“==”是关系运算符。如:if (a==3) a=b;前者是进行比较,a是否和3相等,后者表示如果a和3相等,把b值赋给a。由于习惯问题,初学者往往会犯这样的错误。5.忘记加分号。分号是C语句中不可缺少的一部分,语句末尾必须有分号。a=1 b=2 编译时,编译程序在“...

c语言初学者,请问这个问题怎么解决?
你的环境变量可能没有配置好,一般在学习汇编语言和java的时候才会用到环境变量的配置。配置方法如下:第一步,在系统属性里面打开"高级系统设置"第二步,打开"环境变量"第三步,选择path这个项,然后点击"编辑"按钮 第四步,确保里面有"C:\\WINDOWS\\System32"这一项(因为calc.exe就在C:\\WINDOWS\\Syste...

c语言出错 (本人初学者)?
缺分号。执行出错,前面一般都有出错的原因。就是error这几行。原文:(20):error C2143: syntax error: missing ';' befor 'for'翻译: 第20行:错误C2143:语法错误:缺少';'在'for' 之前

c语言初学者求救!执行 cl.exe 时出错.是什么意思?
对于C语言初学者在尝试使用cl.exe时遇到的问题,其实是一个关于编译器环境设置的误解。cl.exe是Microsoft C和C++编译器及链接器的命令行工具,它需要在支持Microsoft Visual Studio的系统环境下运行,以生成通用对象文件(.obj)格式。在开始编写C代码时,确保你的代码文件名格式正确,如.CPP而非.C,例如...

C语言编程问题,初学者,麻烦简单点,可以看懂的,谢谢(*°∀°)=3?_百...
首先分两种情况:一、a为0,bx+c=0,求得一解。二、a不为0,按照一元二次方程公式:当判别式b^2-4ac,>0则两个解,=0则一个解,<0则无解。最后,代入公式求解。函数参数:a,b,c及存放结果的数组x。返回解的个数。下面是代码:include <stdio.h> include <math.h> int fun(double a...

刚上大一,c语言压根听不懂怎么办?
初入大学,面对C语言课程,不少同学都会感到迷茫,尤其是对于编程初学者而言。知识的诅咒现象在C语言课堂上尤为显著。老师往往从高维度讲解,对于未接触过编程的学生来说,理解起来困难重重。记得刚接触C语言时,对于一些基础概念,如`#include "..."`的用途,主函数`int main()`内为何要写`return 0;...

c语言常见问题有哪些?
但C语言中,“=”是赋值运算符,“==”是关系运算符。如:if (a==3)a=b;前者是进行比较,a是否和3相等,后者表示如果a和3相等,把b值赋给a。由于习惯问题,初学者往往会犯这样的错误。5.忘记加分号。分号是C语句中不可缺少的一部分,语句末尾必须有分号。a=1 b=2 编译时,编译程序在“a=...

我是一位C语言的初学者,有个问题,请哪位高人指点一下。 mian() {float...
因为他的低层库要求程序员学很多东西。大家都是把C或C++学好了,然后用其它的集成开发环境,比如VC++。如果你只想用C语言编写软件,可能你写一个窗口可能就要用上百条代码,而且还得学很多低层的东西,或者调用操作系统的API。比如你说的这条输出语句,你学了集成开发环境之后基本不会用。

相似回答