gpt4 book ai didi

c - (C语言)检查字符串中的元音

转载 作者:行者123 更新时间:2023-11-30 16:44:11 25 4
gpt4 key购买 nike

我正在制作一个元音检查器功能。我对这门语言有点陌生。我读到我无法比较字符串文字和字符数组。这是真的?我的程序总是崩溃,但我看不出问题出在哪里。谁能向我解释一下为什么我的代码有问题。感谢您提供任何形式的意见。

void checkVowel(char someString[]){

int i, len;
char compare;

len = strlen(someString);
printf("%d\n", len);

printf("you name in all uppercase: ");
printf(strupr(someString));


for(i=0; i<len;i++){

char compare = someString[i];



if(compare == "A" || (strcmp(compare,"E"==0))|| compare == "I" || compare == "O" || compare == "U"){
printf("\n%c", compare);
}

}
}

最佳答案

您正在使用 strcmp 将字符与 C 字符串进行比较,这将失败。当您尝试执行此操作时,您应该已经看到编译器警告。不要比较字符和单字符字符串,只需一次比较一个字符即可。根本不需要使用strcmp。

请注意,使用 strupr 是非标准 deprecated微软提供的功能。使用 toupper 代替:

#include <ctype.h> // defines toupper and tolower
void checkVowel(char someString[]){
int i, len;

len = strlen(someString);
printf("%d\n", len);

printf("you name in all uppercase: ");
printf(strupr(someString));

for(i=0; i<len;i++) {
char compare = toupper(someString[i]));
if ((compare == 'A') ||
(compare == 'E') ||
(compare == 'I') ||
(compare == 'O') ||
(compare == 'U')) {
printf("\n%c", compare);
}
}
}

关于c - (C语言)检查字符串中的元音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44664793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com