0
int stringXor(char *str1,char *str2)
{
int num1=0,num2=0;
for (int i = 0; i<strlen(str1); i++)
{
num1=str1[i]-'0';
num2=str2[i]-'0';
num1 = num1 | num2;
str1[i]=(char)num1;
//printf("%d",str1[i]);
}
int count=0;
for(int j=0;j<strlen(str1);j++)
{
if(str1[j]==1)
count++;
}
return count;
}
오류의 원인을 모르지만 문자열의 각 문자에 대해 or
작업이 성공하지 못합니다.C에서 바이너리 문자열 OR 연산이 잘못된 결과를 출력합니다.
로 변경
str1
에 선을 결과 논리합 문자열을 저장하려면 | '0'+ (NUM1 NUM2를); ' –
명확히하십시오. 정확한 입력, 출력, 예상 출력은 무엇입니까? –
@Lashane 난 str1과 str2 2 문자열을 계산하고 str1에 저장해야합니다. 아니, 작동하지 않습니다! – Teena