#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即可 你对语言的某些语法还没掌握熟练 自己体会一下 不懂再问我.
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息