C语言,菜鸟再问个问题啊

来源:百度知道 编辑:UC知道 时间:2024/06/28 05:58:04
#include <stdio.h>
void main()
{
int num1,num2;
char op;
printf("\n请输入操作数1,运算符(+/-),操作数2:");
scanf("%d,%c,%d",&num1,&op,&num2);
if(op='+')
printf("\n%d+%d=%d\n",num1,num2,num1+num2);
if(op='-')
printf("\n%d-%d=%d\n",num1,num2,num1-num2);

}这有是哪里错了,是计算一个数加减另一个数的
还是不对啊,各位高手老大,再看看哪里错了没有

你是不是输入两个数中间输一个符号(+或-)但是无法正常输出结果?
肯定是输入格式问题,因为你的scanf("%d,%c,%d",&num1,&op,&num2); 中三个数据中间是用","隔开的,输入的时候也必须按这种格式,如5,+,8 这样才会正确输出结果
如果改成scanf("%d%c%d",&num1,&op,&num2); 则只需输入5+8 即可,你试试

#include <stdio.h>
void main()
{
int num1,num2;
char op;
printf("\n请输入操作数1: \b");
scanf("%d",&num1);
printf("\n请输入操作数2: \b");
scanf("%d",&num2);
getchar();

printf("\n请输入运算符(+/-): \b");
scanf("%c",&op);
if(op=='+')
printf("\n%d+%d=%d\n",num1,num2,num1+num2);
if(op=='-')
printf("\n%d-%d=%d\n",num1,num2,num1-num2);
}

op=='+'
如果是一个等号那么就是把+赋给了op

op == '+'
op == '-'