#include <stdio.h>
int main()
{
int i;
i = 1,2,3;
printf("i:%d\n",i);
return 0;
}
你认为输出是什么呢? i:3 是吗? 其实,运行结果是i:1 (编译器VC6.0) 这是因为,大部分的编译器都是从右向左赋值的,因此,int=1,2,3;对编译器来说,即为:这三条语句,i=3;i=2;i=1; 而不是你所认为的从左向右。(可能有很少数的编译器是从左向右,常见的编辑器都是从右向左的) 所以,看到刚才的结果你也不会感到惊奇了吧。
地址:http://www.friendsmoment.com/?post=7