注册 登录
编程论坛 C++教室

求大神看看哪有问题,为什么运行不出结果。

ding22244 发布于 2012-09-07 16:11, 382 次点击
#include <stdio.h>
void main()
{
    int a,b,c;
    char d,t;
    printf("请输入一个式子如:5+6=然后按确认键");
    scanf("%d%d%c%c",a,b,d,t);
    switch (d)
    {
    case '+':
        c=a+b;
        printf("%d+%d=%d",a,b,c);
        break;
    case '-':
        c=a-b;
        printf("%d-%d=%d",a,b,c);
        break;
    case '*':
        c=a*b;
        printf("%d*%d=%d",a,b,c);
        break;
    case '/':
        c=a/b;
        printf("%d/%d=%d",a,b,c);
        break;
    default :
        printf("输入有误,请重新输入,谢谢。。。。。。。\n",d);
    }
}
4 回复
#2
zhuanjia02012-09-07 17:51
scanf("%d%d%c%c",a,b,d,t);//错误,要取地址
scanf("%d%d%c%c",&a,&b,&d,&t);
#3
pangding2012-09-07 18:43
楼上正解。
#4
ding222442012-09-08 13:42
回复 2楼 zhuanjia0
谢谢
#5
Ziverson2012-09-09 22:47
第一,你的单引号怎么都是在中文状态下的符号
第二,如果a/b的结果不是整数,c的定义是int型的就有问题了
1