>>603 多分どのコードでも動くというか普通にctype.h使った方が…
#include <stdio.h> 
void str_change_ul(char []);
int main(void){
    char a[]="jsjyjstFHDSSERtshtr@$%f74hthr";
    printf("%s\n",a);
    str_change_ul(a);
    printf("%s\n",a);
    return 0;
}

void str_change_ul(char a[]){
    char l[]="abcdefghijklmnopqrstuvwxyz",
         u[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    int i=0,j,c;
    while(a[i]){
        j=0;
        /* n文字目が小文字なら1、大文字なら2それ以外なら0を */
        while(u[j]){
            c=(a[i]==l[j]) | ((a[i]==u[j])<<1);
            if(c)break;
            j++;
        }
        switch(c){
            case 1: a[i]=u[j];break;/* 小→大 */
            case 2: a[i]=l[j];break;/* 大→小 */
            default:;
        }
        i++;
    }
}