[求助]本人乃新手。。可不可以解释一下这一韪
#include"stdio.h"
void main()
{int a=5,c;
c=(a/=a++);
printf("%d",c);
}
为什么结果是1??
当我把int换成float结果又怎么变成0了??
[此贴子已经被作者于2007-4-13 19:55:30编辑过]
你再去看看运算符的优先级,++是排第二的
下面对楼主的回答一下:
在一个变量后用++(或--)运算符,会将这个语句运行完之后再对这个变量进行++(或--),如果是出现++(或--)运算符出现在变量之前,在运行这个语句之前,先执行在变量之前的++,得到的结果再参与运算,以上只是针对只有一个++(或--)运算符的表达式,若一个表达式中有多个++(或--)运算符,不同的编译器会有不同的结果,我这里就不说了
第二个问题之所以输出的是0,是因为你用%D去输出FLOAT型,应该用%F
我不知道你是什么编译器 我运行出来是1.00000 没错