C int转换为char数组

时间:2019-05-04 14:27:25

标签: c

这是Codewar的挑战。该函数将字符串作为参数,并返回分数格式的字符串。如果输入字符在“ a”和“ m”之间,则应认为该状态为“无错误”状态,否则为错误消息。

示例:aaab应该返回0/4,其中分子是错误代码的数量,分母是字符串长度减去前导NULL字符。 xxa将返回2/3

我的问题是如何将整数放入char数组中?如您所见,我正在向整数添加'0',该整数适用于数字0-9,但对于较大的数字,它会打印其他字符。

我正在使用Xcode作为我的IDE。

代码如下:

#include <stdio.h>
#include <string.h>

char* printerError(char *s)
{
    int i, string_size, error_total;
    unsigned long int size = strlen(s);

    char status[3];
    char *ptr;

    string_size = error_total = 0;
    for (i=0; i<size; i++)
    {
        if (s[i] != '\0' && s[i] != EOF)
        {
            string_size++;
            if (s[i] > 'm')
                error_total++;
        }
    }

    status[0] = error_total + '0';
    status[1] = '/';
    status[2] = string_size + '0';

    ptr = status;
    printf("%s\n", status);
    return ptr;
}

int main(void) {
    printf("error code: %s\n", printerError("aaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbmmmmmmmmmmmmmmmmmmmxyz"));
    return 0;
}

0 个答案:

没有答案