gpt4 book ai didi

c - 在 C 中生成组合

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

所以我想做的是获取每个字符与列表中其他字符的异或值。例如:c ^ eb ^ a

#include <stdio.h>

int main()
{
int i, j;

const char* characters[6] = {'a', 'b', 'c', 'd', 'e', 'f'};
for (i = 0; i < sizeof(characters) - 1; i++){
for (j = i + 1; j < sizeof(characters); j++){
printf("%c\n", characters[i] ^ characters[j]);
}
}

return 0;
}

但是我似乎无法让它与 printf() 一起使用,因为它在使用引号时输出字符串,而在不使用引号时输出错误。

最佳答案

你给printf()一个字符串,即“chars[i] ^ chars[j]\n”,这就是它输出字符串的原因!

  1. 您想要一个字符数组,而不是字符串,因此使用单引号而不是在数组初始化时使用双倍。
  2. for 循环的条件中有一个额外的括号。
  3. 您想要打印 XOR 的值,因此请使用 %d 说明符printf()(如 BLUEPIXY 所述)。

将所有评论放在一起,您将得到:

#include <stdio.h>

int main() {
int i, j;

char characters[6] = { 'a', 'b', 'c', 'd', 'e', 'f' };
for (i = 0; i < sizeof(characters) - 1; i++) {
for (j = i + 1; j < sizeof(characters); j++) {
printf("chars[%d] ^ chars[%d] is %d\n", i, j,
characters[i] ^ characters[j]);
}
}

return 0;
}

由于您想要所有组合,因此您可以查看 this回答并重试。 :)

这个link提供了更简单且相关的答案。

关于c - 在 C 中生成组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26822382/

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