【发布时间】:2014-02-07 10:25:30
【问题描述】:
我正在尝试将 int 添加到 char 数组中。我的(坏掉的)代码如下,
string[i] = (char) number;
i 是数组的某个 int 索引,number 是某个整数。实际上,在输入此内容时,我注意到如果数字超过一位,则会出现另一个问题,因此,如果您对该问题也有一些答案,那就太好了!
【问题讨论】:
-
您希望进入
string[i]的内容是什么?假设number包含 8;你对string[i]有什么期待?如果number包含 264 怎么办? -
@JonathanLeffler,如果
number包含 8,我希望 '8' 在string[i]中。我实际上没有考虑多位数字的情况。我想我必须将number限制为大于或等于 0 且小于或等于 9。 -
你在评论中说
'8',意思是ASCII字符8? ASCII8是整数值56。你想要可打印的 ASCII8还是整数8? -
盯着this chart 并调试您的代码以查看
number的值可能会很多解释您所看到的行为。 -
您是在尝试获取数字的视觉表示,还是尝试将值向下转换为更窄的字段并考虑溢出等问题?
标签: c arrays char int type-conversion