-3

我想写一个数学测试EX:我输入一个正确的数字,然后我可以得到分数。最后,我可以得到总分。这是我的尝试。但是,当我输入错误的数字时,我总是得到点。
我应该怎么办?

char a;
int b;
char d;     
b=0;

printf("1+1=\n");    
a=getchar();    
if(a=2){ 
    printf("you got%d \n",b=b+10);
}else{ 
    printf("you got%d \n",b);
}

printf("1+2=\n");    
d=getchar();
if(d=3){ 
    printf("you got%d \n",b=b+10);
}else{ 
    printf("you got%d \n",b);
} 

return 0;
4

2 回答 2

1

您需要使用if (a == '2')而不是if (a=2).

前者:

  • 测试 的值a,不像后者分配a
  • a与字符 '2' 进行比较,而不是数字 2 。
于 2013-09-27T10:23:48.050 回答
0

如果您尝试在 If 语句中进行比较,那么您应该使用比较运算符==而不是赋值运算符=。此外,如果您要比较字符,则需要使用字符引号''

例如。

if(a=='2')
{
 printf("you got%d \n",b=b+10);
} 
于 2013-09-27T10:25:31.040 回答