输入一个字符,判断是数字、空白还是其他。。。为什么我运行之后输出的都是other呢???
#include "stdio.h"void main()
{
int ch;
scanf("%c",&ch);
if(ch>='0'&&ch<='9')
printf("%c is number",ch);
else if(ch==' ')
printf("%c is black",ch);
else
printf("other");
}
/* 程序功能:输入一行任意字符,求出其中英文字母、数字及其他字符的个数。 */ # include <stdio.h> # include <string.h> int main(void) { char str[80]; int n1, n2, n3, n4, sum, i; n1=n2=n3=n4=0; printf("输入一行任意字符:"); gets(str); for(i=0; i<strlen(str); i++) //计算字符长度,注:i从0开始,若i<=strlen(str)会超过字符长度多保留一个空字符 { if(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z' ) n1++; else if(str[i]>='0'&&str[i]<='9')//注意:此处0-9是字符型,而非整型; n2++; else if(str[i]==' ') n3++; else n4++; } sum = n1+n2+n3+n4; printf("共输入:%d个字符,其中字母:%d个,数字:%d个,空格:%d个,其他字符:%d个。\n", sum, n1, n2, n3, n4); return 0; } /* ---------------------------------- 输入一行任意字符:De + bug.&=13 共输入:13个字符,其中字母:5个,数字:2个,空格:2个,其他字符:4个。 ---------------------------------- */