输入小写字母输出中文,这是为啥

题目:输入一个字符,判断它是否为大写字母。如果是大写字母,则将其转换为小写,否则不转换,输出最后得到的字符;
问题:输入小写字母输出中文,这是为啥,不会改;

#include "stdafx.h"
#include"windows.h"

int _tmain()
{
    char i;
    char j;
    printf("请输入一个字符");
    scanf("%c",&i);
    if(i>='A'&&i<='z')
    {
        j=i+32;
        printf("%c",j);
    }
    if(i>='a'&&i<='z')
    {
        i=i;
        printf("%c",i);
    }
    if(i<'A'||i>'Z'&&i<'a'||i>'z')
    {
        printf("错误");
    }
    
    Sleep(50000);
    return 0;
}





#include "stdafx.h"
#include"windows.h"
int _tmain()
{
    char i;
    char j;
    printf("请输入一个字符");
    scanf("%c",&i);
    if(i>='A'&&i<='Z')
    {
        j=i-('A'-'a');
        printf("%c",j);
    }
    else if(i>='a'&&i<='z')
    {
        printf("%c",i);
    }
    else
    {
        printf("错误");
    }
   Sleep(50000);
    return 0;
}