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'