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)
合理使用优先级可以极大简化表达式。