jeudi 26 septembre 2019

Why does "str[index] = 90 + str[index] - 122" it have an error as bus error?

The code is supposed to transform every letter of every word to uppercase. But running the code results in a bus error. What causes the bus error?

#include <stdio.h>

char *ft_strupcase(char *str)
{
    int index;

    index = 0;
    while (str[index] != '\0')
    {
        if (str[index] >= 97 && str[index] <= 122)
            str[index] = 65 + str[index] - 97;
        index++;
    }
    return (str);
}
int main()
{   
    char *name = "sEbas";
    printf("%s\n", ft_strupcase(name));
    return (0);
}

Input: sEbas

Output: SEBAS

Aucun commentaire:

Enregistrer un commentaire