标题:强制类型转换问题!!
只看楼主
我叫小杜
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:54
专家分:105
注 册:2011-6-11
结帖率:90.91%
已结贴  问题点数:5 回复次数:3 
强制类型转换问题!!
#include<stdio.h>
void main()
{
float x;
int i;
x=32767.0;
i=(int)x%3;
printf("x=%f,i=%d\n",x,i);
}
运行结果是:
x=32767.000000,i=1//只是不明白为什么i=1呢?
搜索更多相关主题的帖子: 庐山 
2011-07-08 16:07
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
得分:5 
浮点数被强制成整数,小数部分被截去。所以,i=(int)x%3就是i=32767%3,因为取模运算不支持浮点

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-07-08 16:16
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
得分:0 
强制转化是二级运算符  求余是三级

                                         
===========深入<----------------->浅出============
2011-07-08 19:12
yangfanconan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:10
帖 子:397
专家分:541
注 册:2009-9-22
得分:0 
神奇的1.
2011-07-08 20:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-345036-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.285341 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved