c语言程序为什么输入数据后回车就不动了,按ctrl+z在空格,它又会额外输入一个z,有人能解释吗?


#include
#include
int main()
{
    char a,q='Z',w='a';
    while(scanf("%c",&a)!=EOF)
    {
        if((a>=65&&a<=90)||(a>=97&&a<=122))
        {
            if(a<=q)
            {
                q=a;
            }
            if(a>=w)
            {
                w=a;
            }
        }
    } 
    if(q>=65&&a<=90)
    q=q+32;
    if(w>=65&&a<=90)
    w=w+32;
    printf("%c-%c",q,w);
    return 0;
}

程序为什么输入数据后回车就不动了,按ctrl+z在空格,它又会额外输入一个z,有人能解释吗?

你想做什么?大写转小写,小写转大写?

while循环遇到CTRL+Z才结束啊, 这个循环过程又不输出,自然啥也没有
你到底要实现什麽功能啊