prev up next   top/contents search

comp.lang.c FAQ 列表· 问题 3.3b

这是一个巧妙的表达式

a ^= b ^= a ^= b
它交换了abb


它不能移植。它试图在顺序点之间修改变量a两次,因此其行为是未定义的。

例如,据报道,当给出以下代码时

	int a = 123, b = 7654;
	a ^= b ^= a ^= b;
SCO Optimizing C 编译器(icc)将b设置为 123,将a设置为 0。

另请参阅问题 3.13.810.320.15c


prev up next   contents search
关于此 FAQ 列表   关于 Eskimo   搜索   反馈   版权

Eskimo North 托管