fuze11 发表于 2020-5-26 16:43:14

求大神看看

#include <stdio.h>
main()
{
        int a,b,c,d,e,r;
        char ch;
        printf("输入");
        scanf("%d%ch%d",&a,&b,&ch);
        switch(ch)
        {
                case'+':
                {
                        c=a+b;
                        printf("%d",c);
                        break;
                }
                case'-':
                {
                        d=a-b;
                        printf("%d",d);
                        break;
                }
                case'*':
                {
                        e=a*b;
                        printf("%d",e);
                        break;
                }
                case'/':
                {
                        r=a/b;
                        printf("%d",r);       
                        break;
                }       
                       
        }这个没有输出是怎么回事呢?
}

fuze11 发表于 2020-5-26 16:50:48

除数那里要用if判断,当时忘记写了

sunrise085 发表于 2020-5-26 16:54:27

scanf那一行先写错了
%ch是什么鬼?前面的格式化字符与后面的变量类型也不对应啊
应该是这样子的
scanf("%d%c%d",&a,&ch,&b);

fuze11 发表于 2020-5-26 17:01:14

sunrise085 发表于 2020-5-26 16:54
scanf那一行先写错了
%ch是什么鬼?前面的格式化字符与后面的变量类型也不对应啊
应该是这样子的


#include <stdio.h>
main()
{
        float a,b,c,d,e,r;
        char ch;
        printf("输入");
        scanf("%f%ch%f",&a,&b,&c);
        switch(ch)
        {
                case'+':
                {
                        c=a+b;
                        printf("%d",c);
                        break;
                }
                case'-':
                {
                        d=a-b;
                        printf("%d",d);
                        break;
                }
                case'*':
                {
                        e=a*b;
                        printf("%d",e);
                        break;
                }
                case'/':
                {
                        if(b==0)
                        {
                                printf("&Icirc;&THORN;&acute;&eth;°&cedil;");
                        }
                        else
                        {
                                r=a/b;
                                printf("%d",r);
                        }
                }       
                       
        }
}谢谢大神,但我这个还是没有输入,那个前面的格式化字符与后面的变量类型也不对应啊可以解释下不,谢谢了

fuze11 发表于 2020-5-26 17:02:28

scanf那里我改了

sunrise085 发表于 2020-5-26 17:38:25

fuze11 发表于 2020-5-26 17:02
scanf那里我改了

scanf那里你改啥了?就是把%d改成了%f?
%ch是啥?
%f%ch%f和后面的a b c的类型分别对应?
难道不应该是scanf("%f%c%f",&a,&ch,&b);
还有后面的case中为什么都是%d?

年轻人,认真一点!
页: [1]
查看完整版本: 求大神看看