ทำ switch case แบบใส่ loop มันเข้า default หมดเลยครับ งงมากครับว่าผิดตรงไหน

ผมสงสัยเริ่อง switch case แบบ loopครับ ผมลองทำแล้ว ทุกครั้งค่าไปเข้า default หมดเลย ผมผิดตรงไหรครับ
แต่พอเอา while ออก มันเข้า case ปกติเลยครับ งงมาก
#include <stdio.h>
int main() {
int vow=0,con=0;
char letter;
while(1){
    scanf("%c",&letter);
    if(letter=='q')
        break;
    switch(letter){
        case 'a': 
            vow++;
            break;
        case 'e': 
            vow++;
            break;
        case 'i': 
            vow++;
            break;
        case 'o': 
            vow++;
            break;
        case 'u': 
            vow++;
            break;
        default:
            con++;
            printf("เข้า default\n");
}
}
printf("con = %d vow = %d",con,vow);
return 0;
}
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่