ZShadow 发表于 2016-4-29 18:34:27

为什么输入回车不能执行到while外面的 那个a[i]输不出

#include<stdio.h>
int main()
{
        char c;
        int a,i;
        while(c!='\n')
        {
                for(i=0;i<80;i++)
                {
                        c=getchar();
                        a=c;
                        if((c>='a' && c<='z') || (c>='A' && c<='Z'))
                        {
                                if((c>='w' && c<='z') || (c>='W' && c<='Z'))
                                        c=c-22;
                                else c=c+4;
                        }
                        printf("%c",c);
                }
                printf("\n");
        }
        for(i=0;i<80;i++)
                printf("%d",a);
        printf("\n");
}

mingcxx 发表于 2016-4-29 23:45:41

#include<stdio.h>
int main()
{
        char c;
        char a, i;                //既然是存字符,建议用char数组

        c = getchar();                //获取第一次输入,提供有效的循环条件
        while (c != '\n')
        {
                a = c;                //写入首字符
                for (i = 1; i<80; i++)                //写入后续字符
                {
                        c = getchar();
                        a = c;
                        if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))
                        {
                                if ((c >= 'w' && c <= 'z') || (c >= 'W' && c <= 'Z'))
                                        c = c - 22;
                                else c = c + 4;
                        }
                        printf("%c", c);
                }
                printf("\n");
        }
        for (i = 0; i<80; i++)
                printf("%d", a);
        printf("\n");

        return 0;                //main()函数的返回值
}
页: [1]
查看完整版本: 为什么输入回车不能执行到while外面的 那个a[i]输不出