如何在C中xor两个字符串?

Min*_* Ko 0 c

我有2个字符串值.str和str2.我希望x和str和str2

我的代码是

#include <stdio.h>

int main(){
    char str[]   =  "Hello";
    char str2[]  =  "World";
    char outupt;

    output = str[] ^ str2[]; 
    printf("%s",output)   

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

yan*_*ano 5

字符:

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

int main(){
  int i;
  char str[]   =  "Hello";
  char str2[]  =  "World";
  char output[6];

  for (i=0; i<strlen(str); i++)
  {
    char temp = str[i] ^ str2[i];
    output[i] = temp;
  }

  output[i] = '\0';
  printf("%s", output);

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

当然,你需要确保output是大到足以容纳结果(包括空终止),你会需要决定做什么,如果strstr2是不一样的长度.