新微赢技术网

标题: [求助]类型转换 [打印本页]

作者: 龍2132    时间: 2009-11-3 03:33
标题: [求助]类型转换
#include <iostream>
using namespace std;
int main()
{
float i,j,k;
int temp;
cin>>i>>j;
j=i/j; k=j;k=j*100;k=(int)k;
j=j*1000;
temp=(int)j;
temp=temp%10;
if(temp>=5)
{k=k+1;
k=k/100;
cout<<k<<endl;}
else
{k=k/100;
cout<<k<<endl;}
return 0;
} 我把temp换成j为什么就会出错呢?如果是float的原因那为什么k就没问题呢?
作者: 君临贵妃    时间: 2009-11-3 03:33
我运行了   没出错  我用的是VC++6.0
作者: 爱你爱到西元    时间: 2009-11-3 03:33
你是把temp换成j了吗
作者: 寂寞    时间: 2009-11-3 03:33
以下是引用心动音符在2006-6-30 15:14:35的发言:
#include <iostream>
using namespace std;
int main()
{
float i,j,k;
int temp;
cin>>i>>j;
j=i/j; k=j;k=j*100;k=(int)k;
j=j*1000;
temp=(int)j; 你指的将这行换为j=(int)j吗?
temp=temp%10;
if(temp>=5)
{k=k+1;
k=k/100;
cout<<k<<endl;}
else
{k=k/100;
cout<<k<<endl;}
return 0;
} 我把temp换成j为什么就会出错呢?如果是float的原因那为什么k就没问题呢?

temp=(int)j; 你指的将这行换为j=(int)j吗?
这样换没有错,这是正常的类型转换.
不过换之后,由于你的temp没有被附值,就直接执行temp=temp%10;
会出现警告
作者: 清风    时间: 2009-11-3 03:33
当然是把所有的TEMP全换成J 了
它说我invalid operands"float"and"int"to binary'operator%'
有错误 好像是类型有问题 但我觉得不应该有问题啊。
作者: ┗白觀喑    时间: 2009-11-3 03:33
建议 :你提问的时候最好在该行的右边注释问题
作者: 祗↘爲.輝仔    时间: 2009-11-3 03:33
OK
作者: 云飞    时间: 2009-11-3 03:33
浮点型是不能求余的
作者: 睡在风里    时间: 2009-11-3 03:33
嗯嗯。。




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2