我需要在有字符串且都应该是元音的情况下执行此方法,否则该方法将返回false,但是我遇到此表达式可分配的错误,我只是编码的初学者,请有人帮助我?谢谢!
int verify_vowel(char *string, char elem, int length){
if(string != NULL){
value= TRUE;
for (i=0; i<length && value == TRUE; i++) {
if(string[i] == elem){
int is_vowel(char element);
value = TRUE;
}else{
value= FALSE;
}
}
}
return 1;
}
int is_vowel(char element){
int j;
int value1;
int length;
char string2[LENGTH];
value1= TRUE;
for(j=0; j<length && value1== TRUE; j++){
if(string2[j]= 'a' && string2[j]= 'e' && string2[j]='i' && string2[j]='o' && string2[j]= 'u'){ //im getting the error here
value1= TRUE;
} else{
value1= FALSE;
}
}
int main(){
char string[]= "aeiuodsf";
int ret;
ret= is_vowel(string);
printf("Result: %d\n",ret);
return 0;
}
答案 0 :(得分:3)
=
用于分配,而==
用于比较(如果需要,您也可以使用strcmp
)。在这种情况下,您分配而不是进行比较,这就是为什么会出现错误。而且,从不使用verify_vowel
。您可以通过这种方式完成
#include <stdio.h>
int is_vowel(char *element, int length){
for(int j=0; j<length; j++){
if(!(element[j]== 'a' || element[j]== 'e' ||
element[j]== 'i' || element[j]== 'o' ||
element[j]== 'u')){
return 0;
}
}
return 1;
}
int main()
{
char *string= "aeifou";
int ret;
ret= is_vowel(string,strlen(string));
printf("Result: %d\n",ret);
return 0;
}