黑马程序员技术交流社区

标题: 按位异或比对字符串的原理是什么? [打印本页]

作者: 初楠    时间: 2015-4-26 17:37
标题: 按位异或比对字符串的原理是什么?
本帖最后由 初楠 于 2015-4-26 17:40 编辑

这是一段利用按位异或比对的例子,讲的是先输入一个数n,再输入(2n-1)个有7个字符组成的字符串,其中(n-1)对是相同,在输入完成后程序就可以输出唯一一个没配对的字符串,麻烦大家能不能结合这个例子给我讲讲按位异或比对字符串的原理,多谢了。
#include<stdio.h>
#include<string.h>
int main ()
{
    int sum[8],n,i;
    char s[8];
    while (scanf("%d",&n)!=EOF)
    {
          getchar();
          memset(sum,0,sizeof(sum));
          gets(s);
          n=n*2-2;
          for (i=0;i<7;i++)
          sum=s;
          while (n--)
          {
                gets(s);
                for (i=0;i<7;i++)
                sum^=s;
          }
          for (i=0;i<7;i++)
          printf("%c",sum);
          printf("\n");
    }
    return 0;
}







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2