不管输入的字符是什么,下面的程序总是显示“very good!”。请找出原因并说明理由?

#include
int main()
{

char letter;
printf("enter a letter:");
scanf("%c",&letter);
if(letter='m') printf("very good!\n");     

return 0;

}

c语言?if语句里判断相等不是该两个==吗?

letter=‘m’是赋值,相当于if(‘m’),而’m’转成bool型为true,所以出现了你说的问题,修改为==即可

一个=是赋值,2个=才是比较

==表示判断是否相等
=表示赋值
!=表示判断是否不不相等