C编程: String calculation Using ASCII code

标签 c ascii

<分区>

如果我像这样获取字符串中的数字并将它们存储在数组 x[100]y[100] 中,

x[100] '1' '0' '0' '0' '\0'
y[100] '9' '9' '\0'

添加的结果也应该存储为字符串。

result[100] '1' '0' '9' '9' '\0'

我曾尝试用ASCII码来解决这个问题,例如:

char number[2] = {'1','2'};
char result;

result = (number[0] - '0') + (number[1] - '0') + '0';

但是我在调​​整 x[100]y[100] 的数字时遇到问题。

我真的需要你的帮助:(

最佳答案

您可能会坚持避免使用库函数将字符串转换为数字,反之亦然,如@sjsam 所述。

如果您仔细想想,数字实际上是从 LSD(最低有效数字,不是酸值)或右侧开始的。因此,在结束 \0 之前从每个数组的最后一个字符开始循环并向后迭代。这不是微不足道的,但这也是 atoi() 的工作方式。

罗马人开始从左到右书写是相当不幸的,但这是这个问题的根本原因。否则集成从右到左的阿拉伯数字会容易得多。

讨论罗马数字的愚蠢超出了这个答案的范围,我们可以这么说,他们缺少零阻止了他们的任何程序以成功的退出状态完成,这反过来导致了崩溃罗马帝国。

关于C编程: String calculation Using ASCII code,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37229448/

相关文章:

python - 如何以随机颜色打印每个字符/行?

JavaScript Array join() 导致结果中出现空 (%00) 字符

c - 我的字符数组在 C 中合并

c - 如何读取大小不是 4 倍数的结构

c - 如何在c中将库添加到 'make'命令

C - 文件 I/O,不是从文件中读取

c - x86 与 x86_64 调用约定

python - 打印时看不到的字符

python - 将包含十六进制和 ASCII 的字符串解码为十进制

unicode - 需要 ASCII 编码完全支持的语言列表