[英]Numerical operations between int and char in C
我想知道如何真正存储数据,因为在示例中,直觉很弱。
我相信,任何值都具有数字识别能力; 因为“ a”的价值为48; 因此我假设在任何情况下我都可以将48减为“ a”(例如(100-'a'== 52))。
现实似乎有所不同。
所以;
我什么时候可以减小'a'以获得类似int的值? 我在这里应该使用什么,这样看起来会更直观?
...
程序勉强完成,但是函数采用了char数组,它需要从char之一获取值int(3)。 / *在这种情况下* /
谢谢你的帮助!
/* command reader */
int cr (char a[])
{
printf("%s\n", a);
/* command sequence */
char co[350]; /* <-- change later */
for (int cri = 0, coi = 0; a[cri]; cri++, coi++)
{
printf("%c ", a[cri]);
co[coi] = a[cri];
}
int ec (char co[])
{
printf("\n%s co\n", co);
printf("\n%c co1\n", co[1]);
co[1] = co[1];
printf("\n basic: %d\n\n", co[1]); /* 51 */
co[2] = co[1] - 'a';
printf("\n charred out: %d\n\n", co[2]); /* -46 */
co[3] = co[1] - 48;
printf("\n numbered out: %d\n\n", co[3]); /* 3 */
return 0;
}
ec(co);
return 0;
}
cr("F3 R B");
'a'
的“值”(即其数字表示形式)实际上取决于字符集。 在大多数情况下,这是美国信息交换标准码(ASCII)或字符集,其中前128个代码点与ASCII相同。 但是, 'a'
的ASCII值实际上是97,而不是48。
正如WhozCraig所说,我一直在寻找(-“ 0”),其中“ 0”的数字值为48。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.