C语言中,不可以在定义变量时连续赋值吗?

 我来答
四舍五不入6
高粉答主

2020-01-16 · 还没有填写任何签名哦
四舍五不入6
采纳数:27 获赞数:71371

向TA提问 私信TA
展开全部

可以 。

例如:

c=a=b=5;

这条语句是没有错误的,首先可以了解到‘=’作为一个运算符,它有从右至左的结合性。

当定义了变量a,b,c且没有赋初值的情况下,如果c=a=b,这样子是绝对会报错误的;当c=a=b=5;这样应可以翻译成b=5;a=b;c=a;

所以可以。

扩展资料:

连续赋值实例

wire [3:0] Z, Preset, Clear; //线网说明

assign Z = Preset & Clear; //连续赋值语句

wire Cout, C i n ;

wire [3:0] Sum, A, B;

. . .

assign {Cout, Sum} = A + B + Cin;

assign Mux = (S = = 3)? D : 'bz; 

参考资料来源:百度百科-连续赋值

百度网友2ebe1e4f3
2017-06-01 · TA获得超过1.3万个赞
知道大有可为答主
回答量:9245
采纳率:52%
帮助的人:3299万
展开全部
不可以,例如,int x=y=5; 由于赋值号是从右向左运算,这句是先把5赋给y,但此时y还没定义,违反了“先定义后使用”的原则,所以是错的
追答
定义之后才可以连续赋值,如
int x,y;
x=y=5;
执行第二句时,y已经定义了,所以没错
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
物理公司的
2017-06-01 · TA获得超过5697个赞
知道大有可为答主
回答量:6105
采纳率:86%
帮助的人:1383万
展开全部
c=a=b=5;
这条语句是没有错误的,首先可以了解到‘=’作为一个运算符,它有从右至左的结合性。当定义了变量a,b,c且没有赋初值的情况下,如果c=a=b,这样子是绝对会报错误的;当c=a=b=5;这样应可以翻译成b=5;a=b;c=a;
所以可以。但不推荐
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式