【发布时间】:2015-04-22 11:44:45
【问题描述】:
#include<stdio.h>
int main() {
float a, b, r;
char op;
scanf("%f",&a);
scanf("%c",&op);
scanf("%f",&b);
scanf("%f",&r);
switch(op) {
case '+':
r = a + b;
printf("%f", r);
break;
case '-':
r = a - b;
printf("%f", r);
break;
case '*':
r = a * b;
printf("%f", r);
break;
case '/':
r = a / b;
printf("%f", r);
break;
default:
printf ("Nekaj ne delas prav");
}
return 0;
}
它给出了输出
“Nekaj ne delas prav”
并且不接受任何输入。而不是使用'scanf()'以及为什么它直接将默认值作为输出而不是使用switch语句。
【问题讨论】:
-
您应该使用预览功能来检查您的代码是否正确插入和可读。预览是所见即所得,所以它是可靠的
-
对于某些特定输入,请提供预期和实际输出。请请格式化您的代码,使其可读,您有听说过缩进吗?
-
您的实际问题是什么?请比“它不起作用”更具体。
-
我投票决定关闭,因为寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定问题或错误以及必要的最短代码在问题本身中重现它。没有明确问题陈述的问题对其他读者没有用处。见:How to create a Minimal, Complete, and Verifiable example.
-
另外,请花时间格式化可读性。