รบกวนช่วยดูโค๊ดภาษา C อันนี้หน่อยค่ะ

int i,t=0;
    char name[500],Upper[500],Lower[500],Mat[500];
    printf("Enter string : ");
    scanf("%s",name);

    for(i=0;i<strlen(name);i++)
    {
        if((name>='A')&& (name<='Z'))
            Upper[t++]=name;
        else if((name>='a')&& (name<='z'))
            Lower[t++]=name;
        else if((name>='0')&& (name<='9'))
            Mat[t++]=name;
        else
            continue;
    }

    printf("The Uppercase Characters = %s",Upper);
    printf("The Lowercase Characters = %s",Lower);
    printf("The Number = %s",Mat);

คือจะเขียนโปรแกรมที่แยกตัวอักขระพิมพ์ใหญ่ พิมพ์เล็ก ตัวเลข ออกจากกัน        
ทำไมค่าที่เป็นผลลัพธ์ออกมามันไม่ตรงกับที่คิดไว้ค่ะ
เช่นถ้าพิมพ์ Rain ผลลัพธ์ที่ได้จะมีตัวอักขระแปลกๆที่เราไม่ได้พิมพ์ใส่อยู่ด้วย
งงมากๆ ไม่รู้เขียนอะไรผิดหรือเปล่า รบกวนพี่ๆช่วยดูให้หน่อยนะคะ
ขออภัยนะคะถ้าหากตั้งห้องถามผิดไป TT
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่