C语言中变量a=0与a==0的区别

Python010

C语言中变量a=0与a==0的区别,第1张

int a, b, c

//赋值

a = 0 //令a为0,赋值的原则是从右向左

//以下赋值是正确的的:将a+1的结果赋给b

b = a + 1

//以下赋值是错误的: 试图将b的值赋给表达式c+1。在C语言中,这是不允许的,只能赋值给变量,而不能赋值给表达式

c + 1 = b

// == 是比较符,被视作一个符号,判断左右两边是不是相等

/*条件判断: 如果a等于0,则输出a的值。这里不同于赋值,而是将a的值与0作判断,返回一个bool结果。即:如果a的值为0,即a == 0为真,则返回真(布尔值为1),反之如果a == 0为假,则返回假(布尔值为0)。if条件判断语句根据返回的是1还是0来决定是否执行下面的语句,如果为1(真),则执行cout<<a<<endl如果为0(假)则不执行。*/

if (a == 0)

cout<<a<<endl

/*类似的,== 还可以用于while(a == 0)) 这样的语句中,和if条件十分类似。*/

/*与赋值不同,比较符 == 既可以用于判断变量(如a == 0),也可以判断表达式(如 a + b == c + 1)等。*/

a=0是一个赋值表达式,不能用于判断表达式的值是真或假,有些编译软件会报错,有的不会;a==0相当于a的值就是0.当在判断a==0是真是假之前,如果你给a=0的话,那么a==0就是真;如果你给a=1的话,那么a==0就是假。

希望我的回答对你有帮助!!