gpt4 book ai didi

c - 从给定的子集中打印长度为 k 的字符串

转载 作者:太空宇宙 更新时间:2023-11-04 07:11:57 25 4
gpt4 key购买 nike

我正在尝试使用递归从给定输入打印 k 个长度集。我想要的例子:

输入:

3
a b c

输出:

aaa
aab
aba
.
.

等等。

我以某种方式得到了垃圾值!

int klength(char input[],char output[],int size, int k, int curr){
int i=0;
if(k<=0)
{
puts(output);
return 0;
}
for(i=0;i<size;i++)
{
output[curr]=input[i]; // **EDIT**
printf("current output %s\n",output);
klength(input,output,size,k-1,++curr);
printf(" after recursion %s]n,output);
}
}

有人可以指出我的错误吗?!我无法以某种方式找到我的错误并且我的时间有点短:\提前致谢!

最佳答案

klength(input,output,size,k-1,++curr);

在这里,您在循环中每次递增 curr,这意味着它会快速递增并最终溢出您的输出缓冲区。你要

klength(input,output,size,k-1,curr+1);

相反。

关于c - 从给定的子集中打印长度为 k 的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27699476/

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