将小写字符串转换为大写?在 C 中

标签 c arrays string

我的教授给了我一些 C 语言的练习......其中一个我必须将一个字符串作为参数传递给一个函数,这个函数将验证数组中是否存在小写字母并将其转换为大写字母案例信;

实际上有一个函数可以做这样的事情,但我不能使用string.h。

有人有想法吗?

void converterup(char palavra[])
{
    int i;

    for(i = 0; i < 10; i++)
    {
        if(palavra[i] != 'a')
        {
            palavra[i] == 'A';
        }
    }

会是这样吗?

最佳答案

您需要包括 <ctype.h>在使用函数之前 toupper ,然后像下面的示例一样使用它(我编辑了您的代码,需要根据您的需要进行调整):

for(i = 0; i < 10; i++){
    palavra[i] = toupper(palavra[i]);
}

这个循环会将前 10 个字符转换为它们的大写 ascii 等效字符

或者如果你不能使用标准函数,你可以使用这样的函数:

char myUpperChar(char x){
    const int delta = 'a' - 'A'; //'a' has ascii code 97 while 'A' has code 65
    if(x <= 'z' && x >= 'a'){
        x -= delta;
    }
    return x;
}

关于将小写字符串转换为大写?在 C 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49257110/

相关文章:

c - 在数组中使用 C 字符串

java - 字节数组减法

c - 打印 float 的整数部分

c - GTK 的线程问题

c - Scanf运行时错误,必须ctrl-alt-delete

c - 我正在尝试使用 strcmp() 对 C 中的字符串数组进行排序

c - 在字符串 C 中搜索字符串的函数

arrays - Swift 字符串数组的索引号

c - 编译C文件的问题

Java main 方法参数处理,取决于用户输入