Int to char c ++

时间:2016-03-30 12:20:49

标签: c++ visual-c++

有人可以解释一下以下tochar函数的工作原理吗?作为实验,我将以下内容添加到tochar

cout<<'0' + value

运行时,我得到了结果:

  

51 50 49 52

我的代码是:

static int tochar(int value)
 {
    return '0' + value;//This is the part i don't understand
 }

int main()
{

    char c[20];

    int n = 4123;
    int count = 0; 
    int number = log10(n)+1;  //number of digits
    for (int i = number; i >= 1; i--)
    {
        c[i] = tochar(n % 10);
        n = n / 10;
        count++;

    }
    for (int i = 1; i <=count; i++)
        cout<<c[i];
    system("pause");
}

2 个答案:

答案 0 :(得分:0)

此函数将单个数字 int转换为表示数字的字符。它假定0 - 9数字在char映射中是连续的,并通过计算给定参数和'0'字符之间的差异来工作。

答案 1 :(得分:0)

您应该将功能更改为

static char tochar(int value)
{
   return '0' + value;//This is the part i don't understand
}