C语言函数:tolower()、toupper字符大小写转换函数。

C语言函数:tolower()、toupper字符大小写转换函数。

C语言函数:tolower()、toupper字符大小写转换函数。_第1张图片

int toupper( int c)

int tolower( int c)

tolower():将字母转为小写

toupper():将字母转位大写

返回值都是int,需要注意的是:并不是返回地址,而是一个数据。返回的数据是改变后的数据。

字符是char类型,返回int类型的解释:

因为这两个函数,是对一个字母进行大小写的转换。因此我们在使用这个函数的时候都是传入一个字符。一个字符只占1个Byte。也就是一个char类型。因此即使返回的是int有4Byte,也可以使用char类型的数据接收,因为int类型也只会把数据存在后8bit中(忽略大小端存储),char类型只会取后8bit。

实例:

#define _CRT_SECURE_NO_WARNINGS

#include 
#include 
int menu()//菜单
{
    printf("1.小写转大写\n");
    printf("2.大写转小写\n");
    int k = 0;
    scanf("%d", &k);
    printf("------------------\n");
    printf("请先输入一串字母:\n");
    return k;
}
int main()
{
    char arr[20] = { 0 };
    int k = menu();//选择
    scanf("%s", arr);//%s输入字符串
    if (k == 1)//小写转大写
    {
        int i = 0;
        while(arr[i])
        {
            arr[i] = toupper(arr[i]);
            i++;
        }
    }
    else if(k==2)//大写转小写
    {
        int i = 0;
        while (arr[i])
        {
            arr[i] = tolower(arr[i]);
            i++;
        }
    }
    printf("%s\n", arr);
    return 0;
}

创建数组,通过scanf(%s)可以输入字符串。

tolower或者toupper不会按照地址对地址所对的内容修改,而是找到地址所对应的内容,然后对内容修改,最好返回修改好的内容。

因此,我们需要手动将函数改好的内容放回到数组内部。

即:

arr[i] = toupper(arr[i]);

arr[i] = tolower(arr[i]);

C语言函数:tolower()、toupper字符大小写转换函数。_第2张图片
C语言函数:tolower()、toupper字符大小写转换函数。_第3张图片

你可能感兴趣的:(C语言函数,C语言,c语言,开发语言)