gpt4 book ai didi

c - 在C中将数组中的特定字母转换为大写

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

int NameAbbreviation() {
if (name_last[1] <= 'a' && name_last[1] >= 'b') {
return name_last[1] += 'A' - 'a';
}
printf("%c%c%c", name_first[0], name_last[0], name_last[1]);
}

社区您好,我之前的问题没有得到很好的反馈,希望这个问题不会像我上一个问题一样困扰您。

在这个小示例代码中,我尝试将 char 数组的第二个字母大写,以便稍后将其安全地保存在名为 name_abbreviation 的自己的变量中。由于代码不会将字母转换为大写,我想知道如何访问数组中特定的字母来更改内容并保存它。

我没有收到任何错误,但代码不执行 if 语句。 Name_last[i] 是输入值。

最佳答案

根据所使用的编码,“a”到“z”不需要按顺序排列;但由于它们几乎存在于所有现代机器上,因此您的情况可能永远不会成立。无论如何,您不应该使用字 rune 字进行算术运算。尝试更惯用的...

#include <ctype.h>

...还有...

if ( isalpha( (unsigned char)name_last[1] ) )

...还有...

return toupper( (unsigned char)name_last[1] )

另请注意,声明为返回 int 的函数在所有情况下都需要返回 int。在 printf...

之后,您没有 return/* Something */

关于c - 在C中将数组中的特定字母转换为大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59734106/

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