C 是否像 python 一样支持类型 a 、b = 0、1 的多重赋值?


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

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

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

a, b = 0, 1;

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

a, (b = 0), 1;

相当于:

b = 0;

在大肠杆菌上观看直播。


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

a = 0, b = 1;

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

C 不像 Python 那样支持列表赋值。 您需要单独分配给每个变量:

a = 0; b = 1;

No C 不支持这样的多个赋值。

a , b = 0 , 1以来的编译传递被分组为a, (b = 0), 1a1是无操作,但仍然是有效的表达式;表达式等效于

b = 0

a不变。

有趣的是,您可以通过一些人为和语法上的微小更改C++实现所需的表示法。

相关内容

  • 没有找到相关文章

最新更新