例如,我试图在库中找到可以根据需要来回切换字符的函数:
如果此函数使用'a‘和一个数字来前移3,它将被移位3次,输出将为'd’。
如果此函数使用'5‘和一个数字前移3,它将被移位3次,输出将为'8’。
我如何才能做到这一点?
发布于 2009-04-18 00:59:56
你不需要调用一个函数来做这件事。只需将数字直接添加到字符即可。
例如:
'a' + 3
计算结果为
'd'
发布于 2009-04-18 00:58:05
给定您所请求的内容,此命令将完成以下操作:
char char_shift(char c, int n) {
return (char)(c + n);
}
如果你的意思是其他的(可能是'Z‘+1= 'A'),那么重写你的问题……
发布于 2009-04-18 01:47:22
在C中,char
是整数类型(如int
,和long long int
).
它的功能与其他整数类型一样,只是它可以存储的值的范围通常被限制在-128到127之间,或者0到255之间,尽管这取决于实现。
例如:
char x = 3;
char y = 6;
int z;
z = x + y;
printf("z = %d\n", z); //prints z = 9
char
类型(通常作为数组的一部分)最常用于存储文本,其中每个字符都编码为一个数字。
字符和字符串常量很方便。如果我们假设机器使用ASCII字符集(它现在几乎无处不在),在这种情况下,大写A编码为65,那么:
char x = 'A';
char str[] = "AAA";
等同于
char x = 65;
char str[] = {65, 65, 65, 0};
因此,像'X' + 6
这样的代码非常有意义--结果将取决于字符编码。在ASCII中,它等同于88 + 6
,它是94
,它是'^'
。
https://stackoverflow.com/questions/763172
复制相似问题