【发布时间】:2018-10-26 20:32:35
【问题描述】:
我想知道数据是如何真正存储的,因为在示例之外,直觉很弱。
我相信,任何价值都有它的数字识别;因为“a”的值为 48;所以我假设,在任何情况下,我都可以将 48 减为 'a'(例如(100 - 'a' == 52))。
现实似乎有所不同。
所以;
我什么时候可以用 'a' 递减以获得类似 int 的值? 我应该在这里使用什么,这样看起来更直观?
...
程序几乎没有完成,但是函数需要一个字符数组,它需要从一个字符中获取值 (3) 的 int。 /* 对于这种情况 */
感谢您的帮助!
/* 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");
【问题讨论】:
-
仅供参考,
48是'0'的 ascii 值,而不是'a'。为什么我们不使用幻数编程的杰出示例。
标签: c char type-conversion int