通过ASCII减少字符

时间:2019-05-25 17:59:47

标签: c string

我要做的是一个解决代码的函数。

代码是一个字符串,要解决它,我需要每次将字符的ASCII级别降低1,并且每次有空格时我都必须返回1。

例如:
“ bc8 d”将变为“ aa5 c”
意思是(b-1),(c-2),(8-3)和(c-1)->因为'c'之前有一个空格。

当我尝试将字符串的字符减少任何值时,我收到一条错误消息,提示“写访问冲突”。

这是我的代码:

void decode(char *str) {
    int i, j = 1, pos = 0;
    for (i = 0; str[i] != '\0'; i++) {
        if (str[i] != ' ') { // is not space
            str[pos++] = str[i] - j;
            j++;
        }
        else {
            pos++;
            j = 1;
        }
    }
}

0 个答案:

没有答案