C中的字符加数字

C中的字符加数字,c,char,output,C,Char,Output,我有以下代码: #include <stdio.h> int main() { char c1; c1 ='A' +4; printf("c1 = %c\n", c1); } 有人能解释一下吗?英文字母A的ASCII值是65,B的66。。。和E的69 语法: c1 = 'A' + 4; 转换为(因为printf()使用%c说明符来表示c1): 当它再次转换成字符时,它会显示字母E 查看了解更多有关ASCII值的信息。它适用于ASCII值。您已在varibal

我有以下代码:

#include <stdio.h> 
int main()
{
char c1;
c1 ='A' +4;
printf("c1 = %c\n", c1);
}

有人能解释一下吗?

英文字母
A
的ASCII值是
65
B
66
。。。和
E
69

语法:

c1 = 'A' + 4;
转换为(因为
printf()
使用
%c
说明符来表示
c1
):

当它再次转换成字符时,它会显示字母
E


查看了解更多有关ASCII值的信息。

它适用于ASCII值。您已在varibale
c1
中分配了
A
,且A的ASCII有效值为65。然后您添加了4,因此它将变成
65+4=69
现在
printf
将显示69属于哪个字符69属于字母
E

ASCII值A-Z 65,66,90


值a-z 97,98,122在计算机中,一切都用数字表示。甚至每个字母都有编号。在ANSI(美国国家标准协会)创建的ASCII(美国信息交换标准代码)编码中,每个字符的值如下:

char
数据类型中,这是存储的数字

在C语言中,诸如
'A'
之类的字符文字属于
int
类型<代码>'A'
将是65,如表中所示

因此,如果您这样做:

char c1;
c1 = 'A' + 4;
然后


然后用
%c
说明符将其提供给printf,该说明符将其打印为字符而不是数字。

查看ASCII图表。例如,尝试
printf(“a=%d,e=%d\n”,“a”,“e”)
您可以尝试的另一件事是
'E'-'A'
。了解
'A'
的类型是
int
可能有助于理解计算。
c1 = 69; // 'A' holds 65 (implicitly converted into an integer before \
         //               performing assignment.)
char c1;
c1 = 'A' + 4;
'A' + 4  equals  65 + 4  equals  69  equals  'E'