有没有办法在比较两个字符串时删除空格。赋值是创建一个不区分大小写的回文并且必须忽略空格。到目前为止我已经
了void cmpNoCase(char str1[], char str2[]){
if(strcasecmp(str1, str2)==0){
printf ("%s is a palindrome.\n", str2);
} else { ("%s is NOT a palindrome.\n", str2);
}
return;
}
并且在main内部我有这个for循环来反转来自用户的第一个输入字符串。
for (i=0, j= strlen(input2)-1; i < j; i++, j--){
index=input2[i];
input2[i]=input2[j];
input2[j]=index;
}
注意:我有另一个函数,它将两个字符串与区分大小写进行比较,但在比较字符串的索引(即输入的回文)时会考虑空格。我在函数及其for循环中唯一的区别是第一个函数的'strcmp',第二个是忽略区分大小写的'strcasecmp'。
答案 0 :(得分:0)
您可以尝试编写自己的比较功能。更具体地说while(i<strlen(yourstr){// your logic for comparing the string character by character}
while(i<strlen(yourstr)){char a=yourstr[i];
if(a=' ')
{continue;};
// rest of your comparison code}
否则你可以这样做:while((a=yourstring[i])!='\n'){i++;
if(a=' ')
{continue;}