首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事

C语言中printf("%d",a[i]-'0') '0'有什么用?

发布网友 发布时间:2022-04-23 05:55

我来回答

2个回答

热心网友 时间:2023-05-26 05:32

你用gets读入一个字符数组之后,a中保存就是你输入的字符的ascii码(你可以看看ascii表),如果想以%d输出,就需要用原本的字符减去'0'或者减去48,就可以得到实际的数字,比如说字符'9',在ascii表里它的值为57,减去'0'或者减去'0'的ascii码48,就可以得到实际的数字9。这种运算也经常被用到用于大写字母的转换,比如说ch是小写字母,那么ch-'a'+'A'就可以得到大写,同样,比如'C'=='A'+2这种也是成立的。
当然,如果你把%d改为%c,就不需要减去'0'了

热心网友 时间:2023-05-26 05:32

这个'0'是字符 不是数值0 你差一下ascii字符代码
或者 printf("%d",'0') 看看输出几

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com