gpt4 book ai didi

c++ - strcmpi 整数,无转换错误

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

我正在尝试创建一个程序,从字符串中删除元音,将它们添加到 vector 中,然后让用户再次获得原始代码的可能性。

在我的代码中我有这个:

char s[20];

在我进行比较后不久:

for(j=0;j<tam;j++)
{
if(strcmpi(s[j],"a")==1 ||
(strcmpi(s[j],"e")==1 ||
(strcmpi(s[j],"i") ==1||
(strcmpi(s[j],"o") ==1||
(strcmpi(s[j],"u")==1))
{

如果数组是 char 并且元音是 char(""),为什么编译器会给我这个错误?:

[警告] 传递 `strcmpi' 的 arg 1 使指针来自整数而不进行强制转换

编辑
正如有人所说,正确的是 s[j] == 'a',但这会导致错误的结果。如果放置汽车,结果仍然是汽车。不知道为什么。

 if(s[j] == 'a' || 
s[j] == 'A' ||
s[j] == 'e' ||
s[j] == 'E' ||
s[j] == 'i' ||
s[j] == 'I' ||
s[j] == 'o' ||
s[j] == 'O' ||
s[j] == 'u' ||
s[j] == 'U')
{
s[j] = s[j++]; }

最佳答案

Strcmpi 用于比较字符串。 strcmpi 的第一个参数是 char 类型,而它需要 char*

为了比较单个字符,s[j]=='e' 就足够了,或者 tolower(s[j])=='e' if你需要它不区分大小写。您需要为 tolower 添加 ctype.h.

关于c++ - strcmpi 整数,无转换错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22336527/

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