菜鸟请教C语言,定义数据类型时可以连续的赋值吗,如 int a=b=c=5 这是错误的吧?

Python013

菜鸟请教C语言,定义数据类型时可以连续的赋值吗,如 int a=b=c=5 这是错误的吧?,第1张

可以 。

int a , b , c

a = b = c = 5 // 这样可以。

但是

int a = b = c = 5 // 这样不可以,因为 b 跟 c 都还没有定义。

1、赋值一般形式为:变量=表达式,例如a=5。2、变量=(变量=表达式),a=(c=5)也是合理的,即先执行c=5,再执行a=c3、变量=变量=…=表达式例如:a=b=c=d=e=5按照赋值运算符的右接合性,因此实际上等效于:4.、注意赋值表达式和赋值语句的区别。赋值表达式是一种表达式,它可以出现在任何允许表达式出现的地方,而赋值语句则不能。下述语句是合法的:if((x=y+5)>0)z=x语句的功能是,若表达式x=y+5大于0则z=x。下述语句是非法的:if((x=y+5)>0)z=x因为x=y+5是语句,不能出现在表达式中。你题目中的 b+c 就是表达式

可以连续赋值,编译器是从右往左赋值,c=a=b=5就按照b=5,a=b,c=a赋值main

前带void表示main函数返回类型为空类型

在较早的编译器下,main前面不带void也可,编译器会默认为void返回类型。

扩展资料

C语言的运算符主要用于构成表达式,同一个符号在不同的表达式中,其作用并不一致。下面按计算的优先顺序,分别说明不同作用的表达式。需要特别指出,在C语言标准中,并没有结合性的说法。

相同优先级运算符,从左至右依次运算。注意后缀运算优先级高于前缀。因此++i++应解释为++(i++)。

而与或非的运算优先级都不一样,因此a &&b || b &&c解释为(a &&b) || (b &&c)

合理使用优先级可以极大简化表达式。