对于输入的所有变量,程序打印出拒绝,但我试图让它只在输入特定字母时打印出来,例如 'u'?
Program prints out declined for all variables entered, but I am trying to make it only print that out when a specific letter is entered e.g.'u'?
我正在尝试创建一个程序,该程序将在输入字母表中的一个字母时打印已接受,不包括 u
。当输入 u
时,它会打印 declined。
#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);
如果你只想接受字母,我认为你应该将 char 转换为 int(ASCII 值)并像这样检查
#include <stdio.h>
int main () {
char val;
int c;
printf("Enter your letter :\n");
scanf("%c", &val);
c = (int) (val);
if ( ( val != 'u') && (c >= 97 && c <= 122) || (c >= 65 && c <= 90)){
printf("ACCEPTED\n");
} else {
printf("DECLINED\n");
}
return (0);
}
我正在尝试创建一个程序,该程序将在输入字母表中的一个字母时打印已接受,不包括 u
。当输入 u
时,它会打印 declined。
#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);
如果你只想接受字母,我认为你应该将 char 转换为 int(ASCII 值)并像这样检查
#include <stdio.h>
int main () {
char val;
int c;
printf("Enter your letter :\n");
scanf("%c", &val);
c = (int) (val);
if ( ( val != 'u') && (c >= 97 && c <= 122) || (c >= 65 && c <= 90)){
printf("ACCEPTED\n");
} else {
printf("DECLINED\n");
}
return (0);
}