请教一个奇怪的基础问题---恐怕不是那么简单哦
执假以为真 2006-03-10 01:44:39 程序一:
main()
{
printf("%f\n",1/4);
}
程序二:
main()
{
float x=2.5,y=4.7;
int a=7;
printf("\n%f\n",a%3*(int)(x+y)%2/4);
printf("%f\n",1/4);
}
程序三:
main()
{
float x=2.5,y=4.7;
int a=7;
printf("\n%f\n",a%3*(int)(x+y)%2/4);
}
程序四:
main()
{
float x=2.5,y=4.7;
int a=7;
printf("\n%f\n",x+a%3*(int)(x+y)%2/4);
}
程序一:
在TC下报错,在VC下结果为0.000000
程序二:
在TC下为:
0.000000
0.000000
在vc下一样的结果
程序三:
在TC下为:8.000000 (这个结果是随机的,如果注释掉程序中与此无关的语句,则结果又会变)
在VC下为: 0.000000
程序四:
在TC和VC下都是2.500000
为什么这四个程序的结果会是这样的呢?