gpt4 book ai didi

c - 字符串操作和 rot-13

转载 作者:太空宇宙 更新时间:2023-11-04 02:56:41 24 4
gpt4 key购买 nike

基本上我必须使用 rot-13 将输入的字符数组转换为结果数组。所以,这就是我想做的事情:使用 for 循环,然后在 for 循环内使用条件来确定是否添加或减去 13 个位置。但我遇到的问题是编写 for 循环。

这是我必须实现的功能:

    void str_rot_13(char const input[], char result []);

我知道当你写一个 for 循环时,它看起来像这样:

    for (int i = 0; i < size; i++)

因此我已经编写了测试用例,但编译器无法编译。

#include "string.h"
#include "checkit.h"

void str_rot_13_tests(void)
{
char input[3] = {'a', 'C', 'd'};
char result[3] = {'n', 'P', 'q'};

checkit_string(str_rot_13("aCd", 3), "nPq")
}

int main()
{
str_rot_13_tests();

return 0;
}

我不确定我做错了什么,编译器提示第 9 行。我认为这与我编写“checkit_string...”的方式有关,但我不太确定。

最佳答案

size = strlen(input),假设 input 是一个以 NUL 结尾的字符串,即。简单地循环直到 input[i] == '\0'。由于 input 是一个 char*,您可以递增它直到 *input == '\0'

如果它不是以 NUL 结尾的字符串,那么您必须将大小提供给 str_rot_13,否则在传递给函数时您无法知道数组的长度(因为它衰减为指针)。

关于c - 字符串操作和 rot-13,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16577358/

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