gpt4 book ai didi

转换大小写和转换警告

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

我正在尝试编写一个程序,根据输入的内容将字符转换为小写或大写。我不想使用 ctype.h 的 toupper()tolower()功能。

我的ConvertCase函数如下所示:

char ConvertCase(char input) {
char convertedChar = 0;

if (('a' <= input) && (input <= 'z')) {
convertedChar = (char)ConvertLowerToUpper;
}
else if (('A' <= input) && (input <= 'Z')) {
convertedChar = (char)ConvertUpperToLower;
}
else {
return input;
}

return convertedChar;
}

我的两个实际转换器如下所示:

char ConvertLowerToUpper(char input) {
return input - 32;
}

从上到下用加法而不是减法。

编译时,我收到两个警告,

cast from pointer to integer of different size [-Wpointer-to-int-cast]
convertedChar = (char)ConvertLowerToUpper;

每个 Actor 一个。而且我真的不明白这意味着什么。如果我省略类型转换,我会得到

assignment makes integer from pointer without a cast [-Wint-conversion]
convertedChar = ConvertUpperToLower;

如果我忽略警告并测试我的程序,它会返回一个从小写到小写的“�”,以及从小写到大写的空白字符。

我该如何解决这个问题?我感谢任何帮助!

最佳答案

您需要实际调用 ConvertLowerToUpperConvertUpperToLower。现在您正尝试将这些函数的指针分配给convertedChar

提示:当编译器提示“没有强制转换的东西”时,强制转换通常不是解决方案。

关于转换大小写和转换警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33058409/

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