注册 登录
编程论坛 C++教室

这个表达式的结果为什么是0

zhangchx2009 发布于 2009-09-11 19:50, 384 次点击

  书上课后习题 求表达式    2.5+7%3*(int)(2.5+4.7)%2/4    的值,我用下面的程序求,怎么是0呢? 应该出什么结果呢?


(原题:求表达式 x+a%3*(int)(x+y)%2/4 的值,其中设x=2.5,a=7,y=4.7)


#include "stdio.h"
void main()
{
 printf("%d\n",2.5+7%3*(int)(2.5+4.7)%2/4);
}
3 回复
#2
newCpp2009-09-12 16:32
这个太脑残了!!
#include <iostream>
using namespace std;
 
void main()
{
cout<<2.5+7%3*(int)(2.5+4.7)%2/4<<endl;;
}
这样出来2.5,,
也就是250的意思
#3
yxb00012009-09-13 12:45
2.5+7%3*(int)(2.5+4.7)%2/4=2.5+1*7%2/4=2.5+1/4=2.5+0=2.5
要点:两整型数相除所得为整型。
#4
zhangchx20092009-09-13 13:50
回复 2楼 newCpp
c++源程序,你牛!按一般的算算,鬼都知道是2.5
1