| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1282 人关注过本帖
标题:请教强制转换问题之(int)2*x
取消只看楼主 加入收藏
jiangwu10057
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:341
专家分:667
注 册:2009-3-25
结帖率:88.89%
收藏
已结贴  问题点数:10 回复次数:1 
请教强制转换问题之(int)2*x
程序代码:
#include<stdio.h>

main()
{
    float x;
    printf("请输入x:\n");
    scanf("%f",&x);
    if(2<x&&x<=10)printf("y=%d\n",(int)(x*(x+2)));
    else if(-1<x&&x<=2)printf("y=%d\n",(int)2*x);
    else if(x<=-1)printf("y=%d\n",(int)(x-1));
}
输入2输出y=0;这个有疑问?请问为什么·?
我没想明白,
强制转换不是将2转换为int再乘上x=2所以应该也是4(float型)啊
为什么是0?
还有不管是输入1,0,
y都等于0.
郁闷了·
若是将else if(-1<x&&x<=2)printf("y=%d\n",(int)2*x);改为else if(-1<x&&x<=2)printf("y=%d\n",(int)(2*x));y=4;这个没疑问。
搜索更多相关主题的帖子: int 
2009-10-28 20:54
jiangwu10057
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:341
专家分:667
注 册:2009-3-25
收藏
得分:0 
谢谢楼上各位呵呵我了解了
2009-10-28 22:57
快速回复:请教强制转换问题之(int)2*x
数据加载中...
 
   



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

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