在c语言中s[0]-'0是什么意思?

为什么还要减个'0'?在什么情况下要见‘0’呢?我做题时总会碰到。... 为什么 还要减个'0'?在什么情况下要见‘0’呢?我做题时总会碰到。 展开
 我来答
loveddhaha
2010-09-17
知道答主
回答量:50
采纳率:0%
帮助的人:22.2万
展开全部
s[0]是char型,一般用 s[0]-'0'表示整型滑昌,如果你想要s[0]的ASCII码值,你可以使用s[0]-'0',减‘0’,是信雀扒岁禅因为字符‘0’对应的ASCII码值是0,这样相减的结果直接就是s[0]字符的ASCII码值。
猪头或火宝宝
2010-09-17 · TA获得超过2758个赞
知道小有建树答主
回答量:1001
采纳率:0%
帮助的人:1517万
展开全部
你好!!!
比如:
char a='2';
printf("%c,%d",a,a);
printf("%d",a-1);
输出的结果是:2 50,49
我们来解衡高大释一下:
a='2';表示我们把字符‘2’赋值给字符变量,但是计算机处理字符都是转化成ASCLL码的,因此计算机会咐竖把整数 2先转换成50存放起来,要是输出字符的时候,系统又把50转化成2,输出。
要是输出整数的时候,就直接把50输出。
关于a-1即使用50-1=49要知道49是ASCLL码,不是整数

又如:
printf("%d",a-'0');
输出的就念乱是2 因为整数0所对应的ASCLL是48.50-48=2输出的不就是字符所对应的整数啦。

考试顺利哈!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天云小店
推荐于2017-09-04 · TA获得超过2.8万个赞
知道大有可为答主
回答量:3281
采纳率:91%
帮助的人:762万
展开全部

首先纠正一下,应该是s[0] - '0' (少了单引号


s[0] - '0'  // 表示将字符s[0]的ASCII码与字符0的ASCII码相减,如果s[0]是字符0~9,则表示橘银做将该字符变为对应的数字(int型)


比如:

char s[3] = "123";
printf("%d\n"搏伏, s[0]-'0');  圆衡 // 输出1,将字符1变为数字1(int型)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jzaleph
2010-09-17 · TA获得超过878个赞
知道小有建树答主
回答量:802
采纳率:0%
帮助的人:566万
展开全部
s[0]是存放字符的变量,减去‘0’后,将其转换成相应的数值
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友fc027fc
2015-05-16 · TA获得超过1.1万个赞
知道大有可为答主
回答量:3160
采纳率:83%
帮助的人:759万
展开全部
在C语言中,s[]应该是字符数组,s[0]-'0'是把字符0转化为数字0。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式