有很大的不同
C语言中的"=="才与数学中的"="号意义相同
"=" 是赋值运算符
比如说if(a=3) a被赋值为3,那么括号里"a=3"这个表达式的值就为3(>0),也就是说括号里的条件是永远为真的
还有if(a==3) 意思是只有当a等于三的时候条件才为真
意义不同!
在《C primer plus》中的第5.2.1节中是这样介绍的:
在C中,符号“=”不表示“相等”,而是一个赋值运算符。赋值运算符的动作时从右到左的。
例如: i=i+1;
在数学上,该语句没有任何意义,如果您给一个有限的数加1,结果不会“等于”开始的那个数,但是作为计算机赋值语句它很合理。它意味着“找到名字为i的变量的值,对那个值加1,然后将这个新赋值给名字为i的变量”。
再如:2012=bmw;
在C中是没有意义的(确切的说是无效的),原因是2012只是一个常量,不能将一个值赋给一个常量;那个常量本身就是它的值了。
下面还有一大堆~~总的来说在C中赋值运算符(也就是“=”)的形式为:
可以修改的左值=操作数
不相同的 我们平时数学的都是从左往右看的 也就是 1+2= 3 这样子
而c语言中的=是从右往左 比如说 int a = 3 ; 是把 3赋值给a。两者还是有区别的
不同,C语言中"="一般用于赋值运算,数学中的"="是关系运算,C语言中的"=="才与数学中的"="意义相同。
不相同,C语言中的“=”表示的是赋值号,如:a=4,表示将4这个数赋值给a;同时,赋值语句中,左边必须为变量,右边不能为变量;如:4=a 是不正确的!C语言中“==”才是相当于数学中的等号“=”!