发布网友 发布时间: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') 看看输出几