为什么C语言中定义变量的时候不能连续给多个变量赋初值

如题所述

c语言中 不能连续赋初值说的是以下这种情况:

错误演示:int a = b = 0;

补充:在for函数中允许。

eg: for(a=b=0; ;); 

y作为一个变量,可以被多次赋值,当你再一次赋值时,会将上次的值覆盖掉。

在C语言中,当定义一个变量y时,系统会在内存中的某个地址分配一个存储单元,用来存放y变量的值,多次赋值,相当于多次往这个地址的存储单元写数据,只是覆盖而已。

扩展资料:

在多重赋值语句的运算中,先计算赋值号左边变量中出现的下标,然后计算赋值号右边的表达式的值,最后把右边表达式的值赋给所有左边的变量。 

(1)由左至右依次计算左部变量中出现的任何下边表达式;

(2)计算语句中表达式的值;

(3)把表达式的值赋给所有的左部变量,左部变量中的任何下标表达式应取步骤(1)中已经计算出来的值。

参考资料来源:百度百科-多重赋值语句

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-04-12
可以给多个变量赋初值,例如:
int a=1, b=2, c=3, d[3]={6,7,8};
float x=12.3, y=45.6, z[3]={7.8, 8.9, 9.1};本回答被提问者采纳
第2个回答  2020-02-23
c语言中 不能连续赋初值说的是以下这种情况:
错误演示:int a = b = 0;
补充:在for函数中允许。
eg: for(a=b=0; ;); 望采纳!
相似回答