c语言中双等号是关系运算符“等于”(==),即日常生活中常说的等于(如判断两个数是否相等)。
C语言中一个等号是“基本赋值运算符”(=),它的作用是将一个表达式的值赋给一个左值。所谓左值是指一个能用于赋值运算左边的表达式。左值必须能够被修改,不能是常量。
例如:
#include
int main(){
int a = 1; // 为a赋值1
int b = 2;
if (a == b){ // 如果a等于b
printf("a等于b\n");
}else {
printf("a不等于b\n");
}
return 0;
}
关系运算符:
用于比较运算。包括大于(>)、小于(<)、等于(==)、 大于等于(>=)
、小于等于(<=)和不等于(!=)六种。
赋值运算符:
用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。
int a=3;
if ( a==2 ) 这里a==2是个逻辑表达式,意思是判断a是否等于2, 因前面有a=3,所以a不等于2,因此,a==2的运算结果为“假" ,其值为0。 并不是说语句假了。
if ( a=5 ) 这里a=5的运算结果是5,不是0,因此,就是真。
C中逻辑真的值是1,0是逻辑假的值
还有,非0就是真 , 这是规定。
你说的“双等号”就是C语言中的等号,而“单等号”(呵呵)则是赋值号,不表示两边的值相等,而是把右边的值赋给左边的变量。a==2不是判断a是不是等于2,而是判断左右两边的值是否相等,相等为真,否则为假
c语言中双等号是一个关系运算符
其作用是用于判断运算符号两边的表达式的值是否相等
例如:
2==2 结果为逻辑真,用1表示
2==3 结果为逻辑假,用0表示
说明:a=5,这里的等号是一个赋值运算符,该表达式是一个赋值表达式,其值为5
=是赋值,把a变量赋值为3,==是等于,a已经是3了,a就不等于2了;
a=5是把a赋值为5,操作成功语句返回真,所以if(a=5)为真;