今天有同学问我,C语言中的等号和数学中的等号区别。这个问题对初学者的确有一些迷惑,这里详细说明下。
C语言中等号=表示赋值运算符,例如E1=E2,表示将E2的值存放到变量E1中,E1必须是可修改的左值,也就是变量。
双等号==是逻辑判断运算符,表示相等,例如E1==E2,表示判断E1和E2的值是否相等,如果相等返回1,不相等返回0值。
因此,双等号==才是数学中的等号,另外C语言中的不相等运算符号用 != 表示。
注意两者不能混用,在if、while、for等语句中表示逻辑判断是,如果混用将导致程序运行结果不正确。例如:
int a=1;
int b=2;
if(a==b) // a==b表达式的结果是0,因为a和b不相等
{
// 该部分将不会执行
}
if(a=b) // a=b表达式的结果是2,因此判断为真
{
// 该部分将被执行
}
完整示例:
#include <stdio.h>
int main(void) {
int a=1;
int b=2;
if(a==b) {
// 该部分将不会执行
printf("a==b的值是%d.\n", a==b);
}
if(a=b) {
printf("a=b的值是%d.\n", a=b);
}
return 0;
}
运行结果:
a=b的值是2.
其实做为一个学习者,有一个学习的氛围跟一个交流圈子特别重要这里我推荐一个C/C++基础交流583650410,不管你是小白还是转行人士欢迎入驻,大家一起交流成长。
网友评论