c语言中的一个解释

main()
{
float x,y;
char op;(这里的char op 是什么意思)
scanf("%f%c%f",&x,&op,&y); (这里的"%f%c%f",&x,&op,&y 为什么要"%f%c%f而不是其他字母比如三个都用%d%d%d,这里第一个"%f的值赋给&x,第二个%c值赋给&op。第三个%f赋给&y的吗)

switch(op)
{
case '+':printf("%f+%f=%f",x,y,x+y);break;
case '-': printf("%f-%f=%f",x,y,x-y);break;
case '*': printf("%f*%f=%f",x,y,x*y);break;
case '/': printf("%f/%f=%f",x,y,x/y);break;
default: printf("error");(一行是什么意思)
}

}

表示定义一个char型的变量,变量名称为op;
%f,%c表示字符的输出格式,是和后面的&x,&op对应的,%f是输出一个float类型的数据,%c表示输出一个字符。如果你在开始时定义了int a;到后面要输出a的值,则应该使用printf("%d",&a);
最后一行的意思是,当用户输入的op不为“+”“—”“*”“/”中的任何一个的时候,输出“error”,表示用户输入错误。default一般用于switch语句的末尾,表示当switch(x)中的x不满足case里面的条件的时候就执行default后面的语句,同时结束switch.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-10-29
char op 定义一个字符型数据 op(op 在程序中是指运算符)
由于定义的x,y是浮点型(float),所以对应的输出格式为 %f
op 为字符型(char),所以为%c
scanf("%f%c%f",&x,&op,&y);中,前面的输出格式%f%c%f是和后面的",&x,&op,&y对应的。而输出格式是和定义的类型保持一致的
第2个回答  2009-10-29
回答:char op表示定义op这个变量是字符型的(就像float表示单精度实型的一样);

回答:每个字符在输出时要用不同的格式输出字符串,x、y是float型的,要用%f,相应的op是char型的,要用%c

回答:当输入的op不是“+”“-”“*”“/”中的任意一个,而是其他字符是,输出字符串“error”
第3个回答  2009-10-29
定义一个字符op。