【发布时间】:2020-01-07 16:33:02
【问题描述】:
我想写一个程序,它可以打印所有可能的长度为 k 的字符串,这些字符串可以由 a 和 b 组成。
k = 3 的示例:aaa、baa、aba、bba、aab、bab、abb、bbb。
我的代码不起作用。有人可以纠正我吗?谢谢。
#include <stdio.h>
void abcombirec(char prefix[], int k) {
char ab[] = {'a', 'b'};
if (k == 0) {
printf("%s\n", prefix);
return;
}
for (int i = 0; i < 2; i++) {
newprefix = prefix + ab[i];
abcombirec(newprefix, k - 1);
}
}
void abcombi(int k) {
char str[] = "";
abcombirec(str, k);
}
int main() {
(abcombi(3));
return 0;
}
【问题讨论】:
-
字符串连接运算符 (
+) 在 C 中不起作用!声明时必须知道长度并使用strcat -
s/does not work/does not exist/ -
我记得在我第一份工作的第一天,我问我的团队“C 中的字符串连接运算符是什么?”每个人都笑了。永远不要忘记。 :D
-
"我的代码不工作。" 为什么不呢?它有什么作用?这是怎么回事?
-
当问题陈述很简单时,很难提供解决方案,"it doesn't work"。请edit您的问题更完整地描述您预期会发生什么以及这与实际结果有何不同。请参阅 How to Ask 以获取有关什么是好的解释的提示。
标签: c