我要做的是一个解决代码的函数。
代码是一个字符串,要解决它,我需要每次将字符的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;
}
}
}