if和while的区别在哪里?
昨天去面试,小弟作了一道题,要求判断一个字符串是否是回文。类似"sim a mis"," cool ooc" 都是回文。我写了个函数是去掉字符串中的空格。
char *del_blank(char *str, char *str_new)
{
int i, k;
int n=strlen(str);
for(i=0, k=0; i<=n, k<=n; i++, k++)
if(str[i]==' ')
i++;
str_new[k]=str[i];
return(str_new);
}
面试官说我应该用while(str[i]==' '),而不是if(str[i]==' ')。 否则当碰到"sim a mis"这种有连续几个空格在一起的字符串就会处理不了。这个我理解不了,请各位指点。另外我刚学编程,如果这个函数中有什么其他问题,也请指出来。谢谢。