为了账号安全,请及时绑定邮箱和手机立即绑定

看看这两段代码 我用VC++6.0 编译出来都一样???

#include <stdio.h>
int main()
{
    char c = 'a';
    int n = c ;        //将c赋值给n
    float f = n ;      //将c赋值给f
    double d = f ;     //将c赋值给d
    printf("%d\n",n);
    printf("%f\n",f);
    printf("%lf\n",d);
    return 0;   
}


#include <stdio.h>
int main()
{
    char c = 'a';
    int n = c ;       //将c赋值给n
    float f =c ;      //将c赋值给f
    double d =c ;     //将c赋值给d
    printf("%d\n",n);
    printf("%f\n",f);
    printf("%lf\n",d);
    return 0;   
}

正在回答

1 回答

你是想问为什么直接用c来赋值也没错吗?

char也属于整型。

用整型给浮点型变量赋值时,整型会先转换为浮点型(还有一些细则,但基本是这个逻辑)。

所以不管你用int还是char来做初值,它们都会转成浮点型。转换后浮点数的整数部分就是整型的数值。

所以你这两个程序的输出一样。

0 回复 有任何疑惑可以回复我~
#1

__0 提问者

就是说这两段代码没区别 都是对的?
2015-03-06 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

看看这两段代码 我用VC++6.0 编译出来都一样???

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信