简要的说一下,C语言的异或运算支持的数据类型 是 可以转化为位运算的数据类型,在C中,包括整形,字符型,以及枚举类型。
在处理字符串的匹配问题时,就可以有一种新的思路了。
将 待匹配的字符串 和 文本字符串 分别转化为 字符数组。然后进行两个字符数组的匹配(也就是异或运算)
主要意思如下,描述的可能不太精确,理解含义即可:
for(int i=0 ; i<=source.length-target.length ; i++)
{
if(match(i,i+target.length)==1)
cout<<"match successful"< } int match(int i,int j) { int result=0; for(;i<=j;i++) { result=source[i]^targrt[i]; if(result !=0){ return 0; } } return 1; }