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

一个简单的小白问题。

一个简单的小白问题。

C
xianxian_03522511 2016-07-15 01:14:07
#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;    }这个代码的结果为什么输出的整形是97
查看完整描述

5 回答

?
大咪

TA贡献785条经验 获得超332个赞

%d是占位符,
%是引导符,d表示十进制整数的形式

printf("%d",n);%d就是输出的时候的占位符,占n的位 表示以十进制整数形式输出n

然而你的变量c定义为字符型,现在要讲字符型复制给整形的n,类型不能强制转换,你没手动做转换,所以打出来的是他对应的ascll码97吧。。。我觉得是这样的

你这个在java中这么写都是不对的- -程序都报错。。。

查看完整回答
反对 回复 2016-07-15
?
木柘

TA贡献143条经验 获得超94个赞

printf("%c\n",(char)n); //输出a

查看完整回答
反对 回复 2016-07-15
?
xianxian_03522511

TA贡献1条经验 获得超0个赞

没人呀!!!太简单了嘛。。就是求解释。。弄不懂

查看完整回答
反对 回复 2016-07-15
  • 5 回答
  • 0 关注
  • 1730 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信