我正在反转字符串,例如,如果我输入单词“try”,它会将 y 读作元音并打印出该单词是合法的。
reverse 函数有效,但不会传递给 switch 语句值。
#include //#include
void rev(char *);
void legal(char string);
int main()
{
char string[50];
char temp;
printf("Enter any string:");
scanf(" %s",&string);
//printf("Before reversing the string %s\t",string);
rev(string);
printf("\nReverse String is %s",string);
temp = legal(string);
printf("\nReverse String is %s",temp);
return 0;
}
void legal(char string)
{
switch(string)
{
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
case 'Y':
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
case 'y':
printf("\nWord is legal");
break;
default:
printf("\nWord is not legal");
break;
}
return 0;
}
//reversing string using pointers
void rev(char *str)
{
char *str1,temp;
str1=str;
while(*str1!='\0')
str1++;
str1--;
while(str<str1)
{
temp=*str;
*str=*str1;
*str1=temp;
str++;
str1--;
}
}