首页 > 解决方案 > 程序打印出所有输入的变量都被拒绝,但我试图让它只在输入特定字母时打印出来,例如'u'?

问题描述

我正在尝试创建一个程序,该程序将在输入字母时打印 Accepted,不包括u. 输入时u打印拒绝。

#include <stdio.h>

int main(void) {
    char val;

    printf("Enter your letter : \n");
    val = scanf("%c", &val);
    
    if (val == 'u' || (val >= '0' || val <= '9'))
        printf("DECLINED\n");
    else
        print("ACCEPTED\n");

    return (0);
}

标签: cif-statementscanflogical-operators

解决方案


制定条件:

if (val == 'u' || (val >= '0' && val <= '9'))

而不是:

if (val == 'u' || (val >= '0' || val <= '9'))

这是一个错误:

val = scanf("%c, &val);

这样做很简单:

scanf("%c", &val);

推荐阅读