c - 程序打印出所有输入的变量都被拒绝,但我试图让它只在输入特定字母时打印出来,例如'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);
}
解决方案
制定条件:
if (val == 'u' || (val >= '0' && val <= '9'))
而不是:
if (val == 'u' || (val >= '0' || val <= '9'))
这是一个错误:
val = scanf("%c, &val);
这样做很简单:
scanf("%c", &val);
推荐阅读
- python - Is there a better way for mapping string with int
- twitter - how to get twitter summary card with Tweepy
- javascript - 无法更改变量内的值?
- python - SQL查询具有三个日期并尝试标准化年份的表
- android - 在 Flutter 中使用混合元素
- c++ - 字符十进制值
- flutter - 如何将 JSON 响应转换为 Dart Map
目的 ...? - java - 使用 Spring Boot JPA 从现有的 oracle db 获取数据
- typescript - React Native 组件异常:未定义不是对象(评估'_this')
- javascript - JSX 表达式必须有一个父元素。ts(2657)