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

C语言问题,c-'0'是什么意思 ?

C语言问题,c-'0'是什么意思 ?

C
PIPIONE 2019-02-06 16:07:17
C语言问题,c-'0'是什么意思 
查看完整描述

2 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

意思是:

字符‘0’对应的ASCII码是48,48对应的十六进制数就是0x30,通常我们在编程的时候,用字符转化为数字的时候经常要用到,比如要将‘8’转换为数字8,在语句中这样写就可以了,“ 8+‘0’”。这里的8就是数字。

字符‘0’和数字0的区别:

前者是字符常量,后者是整形常量,它们的含义和在计算机中的存储方式截然不同。但是字符常量可以像整数一样在程序中参与相关运算。

扩展资料

“0”和‘0’的区别。

首先“0”是字符串常量,字符串常量是由一对双引号括起的字符序列。

例如:“CHINA”,“I LOVE YOU”,“123”等都是合法的字符串常量。

‘0’是字符常量,字符串常量和字符常量是不同的量。

1、字符常量由单引号括起来;字符串常量由双引号括起来。

2、字符常量只能是单个字符;字符串常量则可以含一个或多个字符。



查看完整回答
反对 回复 2019-03-07
?
翻阅古今

TA贡献1780条经验 获得超5个赞

在ASCII编码中, 0~9 的编码是 0x30~0x39, 所以当c在‘0'~'9'的范围中时,c - '0' 就相当于计算c的实际数值,例如 c 是 '1', 则 c - '0' = 1, 把字符值转为数字值了 

#include<stdio.h>

int main()

{

int a,b;

a=!0;

b=!!0;

printf("a=%d,b=%d\n",a,b);

return 0;

}

/*

输出结果:a=1,b=0 

*/

扩展资料

0的ASCII码是30,就是先把30转变为与c一样的数据类型【30】,然后用c减去【30】

(1)+,—,*,/运算的两个数中有一个为float或double型,结果是double型,因为统一将所有float型数据都先转换为double型,然后进行运算。 

(2)如果int型与float或double型数据进行运算,先把int型和float型数据转换为double 
型,然后进行运算,结果是double型。 

(3)字符(char)型数据与整型数据进行运算,就是把字符的ASCII代码与整型数据进行运算。字符型可以直接与整型数据进行运算。如果字符型数据与实型数据进行运算,则将字符的ASCII代码转换为double型数据,然后进行运算。 



查看完整回答
反对 回复 2019-03-07
  • 2 回答
  • 0 关注
  • 4214 浏览

添加回答

举报

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