编写一段程序,要求通过键盘一个输入字符,将输入的字符分为数字、大写字母、小写字母和其他字符四类。
#include<stdio.h>voidmain(){chara;printf("Pleaseenteracharacter:\n");scanf("%c",&a);s...
#include<stdio.h>
void main()
{
char a;
printf("Please enter a character:\n");
scanf("%c",&a);
switch(a)
{
if(a>=0&&a<65)
printf("这是数字");break;
else if(a<=96);
printf("这是大写字母\n");break;
else if(a<=122);
printf("这是小写字母\n");break;
else
printf("其他字符型\n");
}
}
总是出现G:\homework3-1\homework3-2.c(11) : error C2181: illegal else without matching if
G:\homework3-1\homework3-2.c(13) : error C2181: illegal else without matching if是什么原因?怎么改? 展开
void main()
{
char a;
printf("Please enter a character:\n");
scanf("%c",&a);
switch(a)
{
if(a>=0&&a<65)
printf("这是数字");break;
else if(a<=96);
printf("这是大写字母\n");break;
else if(a<=122);
printf("这是小写字母\n");break;
else
printf("其他字符型\n");
}
}
总是出现G:\homework3-1\homework3-2.c(11) : error C2181: illegal else without matching if
G:\homework3-1\homework3-2.c(13) : error C2181: illegal else without matching if是什么原因?怎么改? 展开
2个回答
展开全部
switch(a) case(a<65): 这个使用错误,因为case的值要是常量,不能像你那样写,你要想个办法将这个表达式转为常量。建议改成else if结构就可以。
另外数字的编码是48--57.
#include <stdio.h>
void main()
{
char a;
printf("Pease enter a character:\n");
scanf("%c",&a);
if(a>=65&&a<=90)
printf("这是大写字母\n");
else if(a>=97&&a<=122)
printf("这是小写字母\n");
else if(a>=48&&a<=57)
printf("这是数字\n");
else
printf("这是其它字符\n");
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询