C语言求助
在C语言里为甚么a,b = b,a + b;
和a = b; b = a + b;
不一样{:5_99:} 如果多个逗号隔开 只看分号前最后一个表达式 本帖最后由 肖-肖 于 2021-5-10 22:04 编辑
解释在注释中:
#include<stdio.h>
int main()
{
int a=1,b=1;
a,b=b,a+b;//把b给b并没有把a+b的给b,因为不是a=(b,a+b),这里没有括号且赋值号优先级大于逗号所以就是前面所说的过程了
printf("a=%d,b=%d\n",a,b);
a=1,b=1;//重新赋值
a=b;//把b给a
b=a+b;//a+b给b
printf("a=%d,b=%d",a,b);
return 0;
}
页:
[1]