在”请输出运算符“后的scanf为什么不能用%c,运算符不算字符吗?

#include <stdio.h>

void main()

{

float num1,num2,sum;

char a; 

while(1){

printf("请输入一个数\n");

scanf("%f",&num1);

printf("请输入一个运算符\n");

scanf("%s",&a);//scanf("%c",&a);

printf("请在输入一个数\n");

scanf("%f",&num2);

switch(a){

case('+'):

sum=num1+num2;

printf("两数相加为%.2f\n",sum);

break;

case('-'): 

sum=num1-num2;

printf("两数相减为%.2f\n",sum);break;

case('*'):

sum=num1*num2;

printf("两数相乘为%.2f\n",sum);break;

case('/'):

if(num2!=0){

sum=num1/num2;

printf("两数相除为%.2f",sum);}

else{

printf("除数不能为0!\n");}

break;

default:

printf("请检查输入的是否为运算符!\n");

break;

}

}

}


慕运维5483060
浏览 1473回答 2
2回答

望远

getchar();//scanf()函数输入的时候结尾处有一个'\n'换行符,要通过getchar()处理掉 scanf("%c",&a);

DOUBLE_l

可以,
打开App,查看更多内容
随时随地看视频慕课网APP