一个c程序想不出错误的地方,各位帮忙,谢谢了啊
#include<stdio.h>void main()
{
int a,b,c;
char d;
printf("please input formula\n");
scanf("%d,%c,%d",a,b,d);
switch(d);
{
case '+' :
{
printf("%d+%d=%d",a,b,c");
break;
}
case '_' :
{
printf("%d-%d=%d",a,b,c");
break;
}
}
}
各位帮忙了,帮人一次胜造七级浮屠 b是int类型,为什么scanf里对应的确实%c... 改为scanf("%d,%c,%d",&a,&b,&d);
scanf读入数据除数组外,变量前要加&号。 scanf("%d,%c,%d",&a,&d,&b); 1、输入有问题:应该是scanf("%d%c%d",&a,&d,&b);你这里出现两个问题,一个是没有加&取地址符,还有一个是在输入格式中加入了逗号,你在输入时也应该将输入按逗号隔开,如果想直接输入“12+5”,则将输入格式中逗号去掉;
2、c并没有赋值,也就是c的输出可能是任意数;按你的意思应该将a和b操作的结果赋值给c
switch(d);后面打的;不要 #include<stdio.h>
void main()
{
int a,b,c;
char d;
printf("please input formula\n");
scanf("%d %c %d",&a,&d,&b);
switch(d)
{
case '+' :
{c=a+b;
printf("%d%c%d=%d",a,d,b,c);
break;
}
case '-' :
{c=a-b;
printf("%d%c%d=%d",a,d,b,c);
break;
}
}
}
我已经不需要说啥了。。。楼上的基本上囊括所有问题了 8#正解。{:5_106:} 回复@晓桐不算幼稚:好吧,我知道你找不出关键,算了,不过,你很有爱心,谢了
http://bbs.fishc.com/xwb/images/bgimg/icon_logo.png 来自 穷天下之理 的新浪微博
页:
[1]