对于C中的循环和getchar / putchar用法

时间:2017-03-10 19:59:12

标签: c

我对C很陌生,我试图编写一个用getchar输入的循环,然后只打印来自的“U”和“K”。使用putchar输入。

我试过了:

printf("Enter a bunch of letters: ");

char ch;
while (ch != 'x') {
    ch = getchar();
    if ( ch >= 'a' && ch <= 'z') {
        putchar(ch - 32);
        ch;
    }
}

2 个答案:

答案 0 :(得分:1)

在我看来,你试图在输入“x”之前读取输入,然后从所述输入中打印U和K.试试这个。

根据你的评论,似乎你想将它们打印成鞋面,无论它们是否被读作鞋帮。您可以使用tolower()

char ch;
while ((ch = getchar()) != 'x')
    if (toupper(ch) == 'U' || toupper(ch) == 'K')
        putchar(toupper(ch));

答案 1 :(得分:0)

#include <stdio.h>
int main()
{
    puts("(I will print U and K only): ");
    int c;
    while(EOF != (c=getchar())){
        if(c=='U'||c=='K')
            putchar(c);
    }
}