C语言中,一个整型对一个浮点型取余是怎样运算的?
例如:7%1/2还有,%和/是同优先级的,那么7%1/2是如何运算的呢?谢谢各位前辈!先谢谢你们的回答,那么7%2/4呢?是怎样运算的?...
例如:
7%1/2
还有,
%和/是同优先级的,那么7%1/2是如何运算的呢?
谢谢各位前辈! 先谢谢你们的回答,那么
7%2/4呢?
是怎样运算的? 展开
7%1/2
还有,
%和/是同优先级的,那么7%1/2是如何运算的呢?
谢谢各位前辈! 先谢谢你们的回答,那么
7%2/4呢?
是怎样运算的? 展开
展开全部
由于C中提供的取模(%)是用来求两个整数相除的余数,所以不存在一个整数使用%对浮点数取余数,系统编译不过。要计算一个整数对浮点数取余数,可以使用fmod函数,代码如下,
#include <stdio.h>
#include <math.h>
//输出4对0.3取余的结果
int main(int argc, char *argv[])
{
printf("%d\n",7%1/2);//由于%和/优先级相同,从左向右执行,7%1为0,0/2为0
printf("%lf\n",fmod(4,0.3));//输出0.100000
return 0;
}
double fmod( double x, double y );函数返回参数x/y的余数,需要添加math.h头文件。
#include <stdio.h>
#include <math.h>
//输出4对0.3取余的结果
int main(int argc, char *argv[])
{
printf("%d\n",7%1/2);//由于%和/优先级相同,从左向右执行,7%1为0,0/2为0
printf("%lf\n",fmod(4,0.3));//输出0.100000
return 0;
}
double fmod( double x, double y );函数返回参数x/y的余数,需要添加math.h头文件。
2010-06-06 · 知道合伙人数码行家
关注
展开全部
你举的例子不是整型对浮点做%.
7%1/2等价于 (7%1)/2 = 0/2 = 0;
如果是想问 7%0.5,那是编译错误,%操作符不能用于浮点数
7%1/2等价于 (7%1)/2 = 0/2 = 0;
如果是想问 7%0.5,那是编译错误,%操作符不能用于浮点数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不是,如果均为整型那所得结果也为整型,即使不能整除只取整数部份。如果除数或被除数中有一个为浮点型或DOUBLE型结果就会是精度更高的那类
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先说说明下,取余运算是能是2个整数来运算。在表达式中同优先级的运算符是从左往右依次运算的,就像你这个7%1/2最终是等于0,7%2/4刚等于0
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不是对浮点型取余,7%1/2是先执行7%1然后执行0/2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询