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

这两个的结果不一样,为什么?

正确答案

#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
97.000000
97.000000

另一个

#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;   
}

得到的结果是
99
99.000000
99.000000

区别在于  c   和    'c'   有什么不一样?

 

正在回答

2 回答

不加引号的是变量。加引号的是字符。

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);

这里赋的值都是变量c的值字符a。

 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);

这里除了变量c的值是字符a,其他的变量赋的值都是字符c。

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

InnoFang 提问者

非常感谢!
2015-08-19 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这两个的结果不一样,为什么?

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