首页 > 解决方案 > C 是否像 python 一样支持 a , b = 0, 1 类型的多重赋值?

问题描述

""" Sample python code representing multiple assignment """
a , b = 0 , 1
print a , b

以下代码给出输出:0 1,显然不会引发任何错误。C是否支持相同?

标签: cvariable-assignmentmultiple-assignment

解决方案


不,C 不支持多重赋值,也不支持元组的语言级别。

a, b = 0, 1;

以上是,考虑到运算符优先级,相当于:

a, (b = 0), 1;

这相当于:

b = 0;

观看现场直播


与您的 Python 代码最接近的 C 等效项是:

a = 0, b = 1;

在这种情况下,使用赋值表达式的值是没有用的。


推荐阅读