#include <stdio.h>
#include <stdlib.h>
int main(){
char letter;
printf("Choose your calculation operation:7n/tA:Addition/n/tB:Subtraction/n/tC:Multiplacation/n/tD:Division/n/t");
scanf("%c/n",letter);
float num1, num2;
printf("Enter a Num:");
scanf("%f/n",&num1);
printf("Enter the second Num:");
scanf("%f/n",&num2);
if(letter=='A' || letter=='a') printf("%f + % f = %f",num1,num2,(num1+num2));
else if(letter=='B'||letter=='b') printf("%f - % f = %f",num1,num2,(num1-num2));
else if(letter=='C'||letter=='c') printf("%f * % f = %f",num1,num2,(num1*num2));
else if(letter=='B'||letter=='b') printf("%f / % f = %f",num1,num2,(num1/num2));
else printf("You choosed wrong mark.");
}
问问题
97 次
2 回答
3
在 C89 中,变量声明应位于块的开头。该限制已在 C99 中删除。
根据您的错误代码,您使用的是尚不支持 C99 的 Visual Studio。
因此,您应该将声明放在功能块的开头。
int main(){
char letter;
float num1, num2;
printf("Choose your calculation operation:7n/tA:Addition/n/tB:Subtraction/n/tC:Multiplacation/n/tD:Division/n/t");
还有一件事,通过/n
and /t
,您可能是指\n
and \t
。
于 2013-11-09T10:26:22.793 回答
1
letter
是类型char
,这意味着读入letter
usingscanf
应该通过地址传递,即scanf("%c", &letter);
于 2013-11-09T10:25:03.877 回答