iphone通信模块:这个程序错在哪里啊?

来源:百度文库 编辑:高校问答 时间:2024/05/03 00:57:31
#include<stdio.h>
main()
{
char a;
printf("pls input a char:");
scanf("char=%d\n",&a);
if(a>='z'&&a<'a'||a>'Z'&&a<'A')
printf("this is an alphabetic char\n",a);
else
if(a>=48&&a<=57)
printf("it is a digit\n",a);
else
printf("it is another char.\n",a);
}

我输入任何一个数字的道德是it is a digit
但是我输入任何一个字母的道得是it is another char

怎么回事呢?
再现等候
qq 418768751
我按照一楼大哥的做法作了,但是运行结果还是不对阿

#include<stdio.h>
main()
{
char a;
printf("pls input a char:");
scanf("%c",&a);
if(!((a>'z'&&a<'a')||(a>'Z'&&a<'A')))
printf("this is an alphabetic char %c\n",a);
else if(a>=48&&a<=57)
printf("it is a digit :%c\n",a);
else
printf("it is another char :%c\n",a);
}

scanf("char=%d\n",&a); 改成scanf("char=%c\n",&a); 还有几个printf语句都少了变量替换符号,例如
printf("this is an alphabetic char\n",a);
应该是printf("this is an alphabetic char
%c\n",a);printf("it is a digit\n",a);
应该是printf("it is a digit %c\n",a); 下面几个printf语句都一样是