永发信息网

C语言中的 ASCII读取和PRINT的问题

答案:3  悬赏:60  手机版
解决时间 2021-07-21 12:55

#include<stdio.h>
main()
{
char a,A;
a=getchar();
printf("%d",a-'A');
}

这个函数可以得到我输入的字母的ASCII码与字母A对应的ASCII码的差值

但是我很疑惑的是为什么A上要加‘’?

我知道如果A不加单引号就是变量A了

这里应该是个强制类型转换吧?而a为何不用加单引号呢?

a在这里虽然是变量,但是它的值也是一个字母啊(如BCD等),这样的话不应该也加上单引号了么?

但是如果a加上单引号,那就又是表示字母a 这样就会失去变量a的含义了

所以我想问的是 C语言里对于强制类型转换 特别是输出ASCII码这里相关的符号使用规则有哪些?或者比较重要和常用的。谢谢了!

最佳答案

因为这里A是一个字符,而a是一个字符变量~因为是变量所以就不能用单引号


直接将两个字符进行相加或者相减就能得出他们的ASCII之差或者和了,记得要打印为int行,也就是%d

全部回答

你这里有个明显的错误,你用的是a=getchar(),那么你在运行的时候有没有输入内容呢?如果你输入的是a那么现在变量a的值就是自负a的值了。a,A都是一个变量,如果你不给他们赋值,他们的内容是随机的,也就是系统随机分配的值(相当于空值)。ASCII给对应的字符都赋了不同的值,这有一个表,可以去网上查。

在声明中 不用定义字符变量A 只定义字符变量a即可 你对语言的某些语法还没掌握熟练 自己体会一下 不懂再问我.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我的问道是法金、70级了、点金的抗性满了、还
性感的照片一般调一些什么样的色调?
请各位专家预测一下“金杯汽车”近期走势如何
西工区洛阳市西工区人民文化馆地址在什么地方
电脑问题```
我买了5GOGQB的卡怎么冲请把步骤 写出来
日本SKK外墙涂料包工包料价格问题
为什么我的显示风扇开机后一直很响
原果男朋友多次提示要分手 那代表什么?
今晚中国男篮热身赛有没直播?
夷陵区宜昌福缘餐厅怎么去啊,谁知道地址啊
有关希望工程的英语作文?
熊猫卡,是什么?有什么用?在哪里买到?
怎么去眼袋~具体点
花儿为什么香尼?
推荐资讯
怎么样能让女人回心转意??
外貌和个性真的很重要吗?
天元区株洲湖南工业大学新校区崇慧楼地址在哪
为什么我进dnf选择角色的时候自动关闭游戏
英山县黄冈精益(飞达店)地址在哪里啊
英山县黄冈杨柳湾镇杨柳文化站地址是什么,有
渑池县三门峡渑池县尚德小学我想知道这个在什
我在祖国的怀抱中成长作文
古代表达痴心的诗句,形容痴心的句子
求助诺基亚6630 万能播放器的序列号 我手机的
有哪些是行星啊
想卖家里不用的东西去哪个网站
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?