【发布时间】:2018-10-02 17:44:59
【问题描述】:
这是我删除字符串中元音的函数;
char *removeVowels(char *inString) {
int count = 0; //to count the non vowel characters
for (int i = 0; inString[i]; i++)
if (inString[i] != 'a' || inString[i] != 'e' || inString[i] != 'u' || inString[i] != 'o' || inString[i] != 'i')
inString[count++] = inString[i]; //if character is not a vowel placed at count++
inString[count] = '\0';
return inString;
}
问题是它正在返回输入的原始字符串。有什么想法吗?
【问题讨论】:
-
if 行中需要 &&,而不是 ||。每个角色都会符合你目前的状况。
-
什么终止了循环?我没看到。
-
@natersoz 看到空终止字符时会终止
-
@natersoz:
for循环中的中心语句,即结束测试子句,负责处理这一点。它相当于while(inString[i])(而i++将在循环内的某个位置)。