gpt4 book ai didi

c - 字符串序列及其实现

转载 作者:行者123 更新时间:2023-11-30 19:37:04 25 4
gpt4 key购买 nike

我在实现轮类时遇到了一点小麻烦。这是我想做的事情的想法:给定一串数字,如 012345,给定特定条件,序列将从
012345
001234.有人可以告诉我为什么代码不起作用以及如何解决这个问题吗?

for(int a = i; a < (strlen(input)); a++)
if (a < strlen(input) - 2)
{
holder = key[a+1];
key[a+1] = key[a];
key[a+2] = holder;
}
}

最佳答案

要右移字符串,您可以执行以下操作:

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

void shift_r_str (char *string, size_t len, uint8_t shift);

int main(void)
{
char input[] = "012345";

shift_r_str(input, strlen(input), 1);
printf("Shifted: %s\n", input);

shift_r_str(input, strlen(input), 2);
printf("Shifted: %s\n", input);

}

void shift_r_str (char *string, size_t len, uint8_t shift)
{
size_t i;

if (len < shift)
{
shift = len;
}

for (i=len-1; ((i>0) && (i>=shift)); i--)
{
string[i] = string[i-shift];
}

for (i=0; i<shift; i++)
{
string[i] = '0';
}
}

输出将是:

Shifted: 001234
Shifted: 000012

关于c - 字符串序列及其实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40298843/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com