目录
在C语言,等于号用俩个“=”来表示,但是很多刚开始学习C语言的同学经常会写成一个“=”号,但是编译器也不提示错误,往往就导致刚入门的同学怎么调试也找不到bug。
本例子无论输入a的值是1,2还是3,都会打印a=b,并且编译器不会报错。这种bug对于新手来说是非常痛苦的。、
#include <stdio.h>
void main(void)
{
int a;
int b;
printf("Please input a value:\n");
scanf("%d",&a);
if(a = 1){
printf("a == b\n");
}
else{
printf("a != b\n");
}
}
if(a=1)中的a=1是一个等于号,一个等于号代表赋值,所以编译器不报错,所以我们可以把a=1写成1==a就可以了,如果少写了一个=号,编译器就会报错。
正确的例子:
#include <stdio.h>
void main(void)
{
int a;
int b;
printf("Please input a value:\n");
scanf("%d",&a);
if(1 == a){
printf("a == b\n");
}
else{
printf("a != b\n");
}
}