There is a confusion between the ||
and &&
operators. You want to test that the character is different from 'a'
AND different from 'e'
etc.
Here is a modified version:
char *removeVowels(char *inString) {
int count = 0; // index for preserved characters
for (int i = 0; inString[i]; i++) {
if (inString[i] != 'a' && inString[i] != 'e' && inString[i] != 'i'
&& inString[i] != 'o' && inString[i] != 'u') {
inString[count++] = inString[i]; // copy the non-vowel character
}
}
inString[count] = ''; // set the null terminator.
return inString;
}
Note however that uppercase vowels are not removed by this function, and whether y
should be considered a vowel remains to be decided.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…