在 C 中将 int 转换为 char?

标签 c arrays char int type-conversion

我正在尝试将一个 int 添加到一个 char 数组。我的(损坏的)代码如下,

string[i] = (char) number;

i 是数组的某个整数索引,number 是某个整数。实际上,在输入此内容时,我注意到如果数字超过一位数,则会出现另一个问题,因此,如果您对这个问题也有一些答案,那就太好了!

最佳答案

如果 number == 0,修改后的要求是将数字 '0' 放入 string[i] 中,同样对于值number 介于19 之间,则需要在数字后面加上'0':

assert(number >= 0 && number <= 9);
string[i] = number + '0';

逆变换用于将数字字符转换回对应的数字:

assert(isdigit(c));

int value = c - '0';

关于在 C 中将 int 转换为 char?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21196926/

相关文章:

c - 从函数返回后数组内容发生变化

c - 段错误: 11 for C

c - C 中的内存优化递归调用

C 计算欧拉数的精度低于预期

Javascript,具有设置生命周期的对象?

char数组到uint8类型指针的转换

c++ - 是否可以强制 CMake 在其他项目类型生成时生成 Visual Studio 项目?

java - 我应该如何将 json 值返回到另一个方法中

java - 检查回文字符串

无法使用 printf 正确写入 int