1.源码实现
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char xor(char a, char b)
{
if(a == b)
{
return 0;
}
return 1;
}
int hanming(char *a, char *b, char *c)
{
int d = 0;
int u;
int i;
for(i=0; a[i]!=0x00&&b[i]!=0x00; i++)
{
c[i] = xor(a[i], b[i]);
}
if(a[i] != 0x00)
{
while(a[i] != 0x00)
{
c[i] = 1;
i++;
}
}
else if(b[i] != 0x00)
{
while(b[i] != 0x00)
{
c[i] = 1;
i++;
}
}
u = i;
for(i=0; i<u; i++)
{
c[i] && d++;
}
return d;
}
int main()
{
char a[1024];
char b[1024];
char c[1024];
scanf("%s", a);
scanf("%s", b);
printf("%d\n", hanming(a, b, c));
return 0;
}
2.编译源码
$ gcc -o example examle.c -std=c89
3.运行及其结果
$ ./example
coast
roast
1
网友评论