请帮我看一下,这个语法含义是这样的?
if((int)(bdstr[i]^bdstr[i+len/2])!=0)
是判断bdstr[i]与bdstr[i+len/2])求异或后的值是否是0,对吗?但是运行结果是错误的,这句话含义对吗?下面是整个函数
#include <iostream>
#include <iomanip>
#include <math.h>
#include <string>
using namespace std;
/*---------------------------------------------*/
bool check(char *bdstr)
{
bool FALSE=0;
bool TRUE=1;
bool IsTrue=TRUE;
int i;
char sum;
int len;
len=strlen(bdstr);
for (i=0;i<len/2;i++)
{
//sum^=buf[i];
if((int)(bdstr[i]^bdstr[i+len/2])!=0)
{
IsTrue=FALSE;
break;
}
}
cout<<IsTrue<<endl;
return IsTrue;
}
void main()
{
int sum;
char *p="101010";
check(p);
}