需要帮忙
这是我的代码
void swapstringfun()
{
int i=0,j=0;
char *str=(char *)malloc(sizeof(char)*15);
char *mystr=(char *)malloc(sizeof(char)*15);
system("cls");
printf("Please enter first string :\t");
scanf("%s",str);
printf("Please enter second string :\t");
scanf("%s",mystr);
while(*(str+i)!='\0' && *(mystr+i)!='\0')
{
*(str+i) ^=*(mystr+i);
*(mystr+i) ^=*(str+i);
*(str+i) ^=*(mystr+i);
i++;
}
printf("%s swapped to %s",str,mystr);
getch();
main();
}
我编写了上面的代码来使用 XOR 运算符交换字符串。这段代码的问题是。当我的输入是让我们说.. RAJESH和ASHISH。然后,它显示输出ASHISH和RAJESH。而且,这是意料之中的。
但是,当输入说.. ABHISHEK和CODER时,输出是CODERHEK和ABHIS。但是,预期的输出是CODER和ABHISHEK。任何人都可以帮我解决这个问题。我会感激的。