#include<stdio.h>void main(){ char b; double a,c,d; scanf("%lf%c%lf",&a,&b,&c); if(b='+') d=a+c; printf("结果:%f\n",d); if(b='-') d=a-c; printf("结果:%f\n",d); if(b='*') d=a*c; printf("结果:%f\n",d); if(b='/') d=a/c; printf("结果:%f\n",d);}
看到截图大家就知道我有什么问题了,这个该怎么办?除了加法以外都不合适,我郁闷的。我输其他的算式运算就把加减乘除的结果都算出来了。我嵌套了半天if语句都语法错误。没办法,找各位大哥帮我看下。小弟在线等、
这里我就是请大哥给我嵌套下不要我一运算就加减乘除的结果都出来了、、
cè¯è¨ä¸çifè¯å¥ï¼ä¸è¬æä¸ç§å½¢å¼ï¼å ¶å®çå½¢å¼é½å¨æ¤ä¸ç§å½¢å¼åºç¡ä¸å»ºç«èæ¥ï¼æ´»å¦æ´»ç¨åã
1ã ifâ¦â¦å½¢å¼
ä¸è¬æ ¼å¼ï¼if(表达å¼) è¯å¥;
è¯ä¹æ¯ï¼å¦æ表达å¼çå¼ä¸ºçï¼åæ§è¡å
¶åçè¯å¥ï¼å¦åä¸æ§è¡è¯¥è¯å¥ãè¯å¥å¯ä»¥æ¯åæ¡è¯å¥ï¼ä¹å¯ä»¥æ¯ç¨è±æ¬å·{}å
æ¬èµ·æ¥çå¤åè¯å¥ã示ä¾å¦ä¸ï¼
2ãifâ¦â¦elseå½¢å¼
ä¸è¬æ ¼å¼ï¼
if(表达å¼)
è¯å¥1;
else
è¯å¥2;
è¯ä¹æ¯ï¼å¦æ表达å¼çå¼ä¸ºçï¼åæ§è¡è¯å¥1ï¼å¦åæ§è¡è¯å¥2 ãè¯å¥1åè¯å¥2å¯ä»¥æ¯å¤åè¯å¥ã
示ä¾å¦ä¸:
3ãifâ¦â¦elseâ¦â¦ifå½¢å¼
ä¸è¬å½¢å¼ä¸ºï¼
if(表达å¼1)
è¯å¥1;
else if(表达å¼2)
è¯å¥2;
else if(表达å¼3)
è¯å¥3;
â¦
else if(表达å¼m)
è¯å¥m;
else
è¯å¥n;
è¯ä¹æ¯ï¼ä¾æ¬¡å¤æ表达å¼çå¼ï¼å½åºç°æ个å¼ä¸ºçæ¶ï¼åæ§è¡å
¶å¯¹åºçè¯å¥ãç¶åè·³å°æ´ä¸ªifè¯å¥ä¹å¤ç»§ç»æ§è¡ç¨åºã å¦æææç表达å¼å为åï¼åæ§è¡è¯å¥nãç¶å继ç»æ§è¡åç»ç¨åºã示ä¾å¦ä¸ï¼
4ãæ©å±å½¢å¼
ifæ¡ä»¶æ§å¶è¯å¥çå½¢å¼æ¯å¤ç§å¤æ ·çãæ¯å¦ifåµå¥ãifâ¦â¦if类似çå½¢å¼ï¼ä½æ¯é½ç¦»ä¸å¼ä¸é¢ä»ç»çä¸ç§åºæ¬å½¢å¼ã
两处错误
if(b='+') 该用==号
if(b='+')
d=a+c;
printf("结果:%f\n",d);该用大括号括起来
if(b='+')
{d=a+c;
printf("结果:%f\n",d);}