8个回答
展开全部
可以连续赋值。
c=x(x:a=b=5)时,因为=的结合性从右到左,所以先计算x的值,计算x的值的时候发现x=y(y:b=5),所以需要先计算y的值,计算y的值的时候发现y=z(z:5),所以需要先计算z的值。
定义变量a,b,c且没有赋初值的情况下,如果c=a=b这是袜雀会报错误的;当c=a=b=5;这样应可以翻译成b=5;a=b;c=a;因此语句是正确的。
扩展资料
赋值运算符=
在C语让槐言第一篇的坦好友时候,写过C语言中“=”不等于数学中的“=”而是叫做赋值这么一个概念。在C中“=”的作用就是赋值。就是将右边的值(右值)赋予给左边的值(左值)。
在数学中,i会等于0。但在C语言中,i等于1,它的意思是把i加上1再赋值给i。可以理解先临时声明一个int类型的变量它的值是i+1的和,然后再将这个临时声明的变量赋值给i。赋值的一个规定就是必须是右值赋值给左值。不能和数学的等于号一样自变量两边都可以。
展开全部
当然可以,实际上他的工作流程如下:
编译器读到c=x(x:a=b=5)时,因为=的结合性从右到左,所以先计算派液升x的值,
计算x的值的时候发现x=y (y : b = 5),所以需要先计算y的值,
计算y的值的时候发现y=z (z : 5),所以需要先计算z的值,
而z就是埋茄数字5,于是开始回溯,
或者简单点说:5先赋尘老值给b, 产生一个中间变量temp0,temp0的值就是b=5的结果5. 然后将该中间变量赋值给a,此时temp0消失,产生一个中间变量temp1,同理temp1的值也是5, 左后将temp1的值赋给c,temp1消失。至此全部变量获得了值5。
编译器读到c=x(x:a=b=5)时,因为=的结合性从右到左,所以先计算派液升x的值,
计算x的值的时候发现x=y (y : b = 5),所以需要先计算y的值,
计算y的值的时候发现y=z (z : 5),所以需要先计算z的值,
而z就是埋茄数字5,于是开始回溯,
或者简单点说:5先赋尘老值给b, 产生一个中间变量temp0,temp0的值就是b=5的结果5. 然后将该中间变量赋值给a,此时temp0消失,产生一个中间变量temp1,同理temp1的值也是5, 左后将temp1的值赋给c,temp1消失。至此全部变量获得了值5。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-03-29
展开全部
感觉以上说的都不完全对
c=a=b=5的操作应为:这里有3个赋值号,它们优先级相同,结合方向从右到左(书上可以查到),所以首先执行b=5,使得变量b的值为5;
然后执行中间的赋值号,把右边的表达式b=5的值赋给a,因为表达式b=5的值为被赋值变量b的值,所以实际是赋了5给a;
最后执行最左边一个赋值友州号,把表达式a=b=5的值赋给c,根据上面同样的道理,实际是把5赋给了c.
关键点:左边两个赋值号赋的实际是表达式的值。而b=5和a=b=5本身是赋值表达式,赋值表达式的值为被赋值变量的值。
我觉得这才是实好核蔽质氏胡上的东西
c=a=b=5的操作应为:这里有3个赋值号,它们优先级相同,结合方向从右到左(书上可以查到),所以首先执行b=5,使得变量b的值为5;
然后执行中间的赋值号,把右边的表达式b=5的值赋给a,因为表达式b=5的值为被赋值变量b的值,所以实际是赋了5给a;
最后执行最左边一个赋值友州号,把表达式a=b=5的值赋给c,根据上面同样的道理,实际是把5赋给了c.
关键点:左边两个赋值号赋的实际是表达式的值。而b=5和a=b=5本身是赋值表达式,赋值表达式的值为被赋值变量的值。
我觉得这才是实好核蔽质氏胡上的东西
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
绝对不可以连续赋值!!!C语言销祥的基本要求。御歼你可以写()int a =5;int b=5;int c=5;)或(int a,b,c;a=5;b=5;c=5;)切记不可写镇斗冲a=b=c
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以,从右往左赋值,表达式的值等于最后一个被赋的值,具体顺序是根据运算符优先级……
不带void默认返回int,用return 0;正常结束程序;如果加void,毕枯不返回任何值,程序以return;或运行到结尾结束;当然现在大多数编译器带不带void有没有return都能正常结束程序,但个人不推荐这种方式,main函数返回的灶数芹整数值可以用隐毕于检测程序是否正常结束。
不带void默认返回int,用return 0;正常结束程序;如果加void,毕枯不返回任何值,程序以return;或运行到结尾结束;当然现在大多数编译器带不带void有没有return都能正常结束程序,但个人不推荐这种方式,main函数返回的灶数芹整数值可以用隐毕于检测程序是否正常结束。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询