#include <stdio.h>
#include <stdlib.h>
int main() {
char c;
printf("Hello World ! Right something you want to know about\n");`
scanf_s("%c", &c);
if (c = 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O','P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z')
{
printf("\nThe input is an upper case letter\n");
}
else if (c = 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z')
{
printf("\nThe input is lower case letter\n");
}
return 0;
}
我是C编程的新手,我正在尝试制作一个检测大写和小写字母的程序,但这不起作用,显然我无法弄清楚原因!
答案 0 :(得分:8)
几个问题:
您使用=
代替==
。这将分配到变量,而不是测试它。
正如评论者指出的那样,你不能使用这样的逗号;您需要使用OR
运算符(||
)。
考虑到A-Z
和a-z
都在连续的范围内,这比它需要的更复杂。你可以if (c >= 'A' && c <= 'Z')
。
整个程序是不必要的,因为islower()
中已有函数isupper()
和ctype.h
为您执行此操作。
答案 1 :(得分:2)
这是一种更容易做到你想要的方式:
#include<stdio.h>
int main() {
char c;
printf("Enter The Character : ");
scanf(" %c", &c);
if (ch >= 'A' && ch <= 'Z')
{
printf("Character is Upper Case Letters");
}
else
{
printf("Character is Not Upper Case Letters");
}
return (0);
}
你的代码中的错误就是Charles Srstka提到的错误,你的代码太乱了