#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.");
}
答案 0 :(得分:3)
在C89中,变量声明应该在块的开头。该限制已在C99中删除。
根据您的错误代码,您使用的是Visual Studio,它还不支持C99。
因此,您应该在功能块的开头添加声明。
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
和/t
,您可能意味着\n
和\t
。
答案 1 :(得分:1)
letter
属于char
类型,这意味着使用letter
阅读scanf
时应通过地址scanf("%c", &letter);