标题:if(a+b)是否在四则运算中实现不了相应的功能呢?
只看楼主
爱c如爱命
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2021-4-5
结帖率:57.14%
 问题点数:0 回复次数:2 
if(a+b)是否在四则运算中实现不了相应的功能呢?
#include<stdio.h>
#include<math.h>
void main()
{
    float a,b;
    char c;
    printf("input expression a+b,a-b,a*b,a/b\n");
    scanf("%f%c%f%c",&a,&c,&b);
    if(a+b)
    {
         printf("a+b=%f",a+b);
    }
    else if(a-b)
    {
        printf("a-b=%f",a-b);
    }
    else if(a*b)
    {
        printf("a*b=%f",a*b);
    }
    else if(a/b)
    {
        printf("a/b=%f",a/b);
    }
    else printf("输入错误");

}
我在输入的情况下不会出现结果,像输入1.0+2.0都不会输出结果,是不是由于if(a+b)这种程序的写法是不正确的呀?那位高手能来帮帮我呀?
搜索更多相关主题的帖子: 是否 printf 四则运算 输入 if 
2021-04-08 13:30
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
程序代码:
#include <stdio.h>

int main( void )
{
    double a, b;
    char c = 0;
    puts( "input expression a+b,a-b,a*b,a/b" );
    scanf( "%lf %c%lf", &a, &c, &b );

    if( c == '+' )
        printf( "%g%c%g = %g\n", a, c, b, a+b );
    else if( c == '-' )
        printf( "%g%c%g = %g\n", a, c, b, a-b );
    else if( c == '*' )
        printf( "%g%c%g = %g\n", a, c, b, a*b );
    else if( c=='/' && b!=0 )
        printf( "%g%c%g = %g\n", a, c, b, a/b );
    else
        puts( "输入错误" );

    return 0;
}
2021-04-08 13:50
爱c如爱命
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2021-4-5
得分:0 
回复 2楼 rjsp
这一看秒懂了,谢谢大佬
2021-04-08 15:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-505372-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.296048 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved