#include<stdio.h>
#include<ctype.h>
int main()
{
int a,x=0,y=0,z=0;
scanf("%d",&a) ;
if(isalpha('a'))x++;
else if(isdigit('a'))y++;
else z++;
printf("字母数=%d,数字数=%d,其他字符数=%d\n",x,y,z);
return 0;
}
我想问一下 我输入一个5为什么显示字母数为1
我那个括号里是'a'呀。。。x是如何+1的??应该是在y+呀
if(isalpha('a')),这里的a不是你定义的变量,使用变量直接写就行,如果是一个字母a,就用引号括起来,
if(isalpha(a)): 判断变量a是不是字母
if(isalpha('a')):判断字符‘a'是否是字母,显然这个是永真式
#include<stdio.h>
#include<ctype.h>
int main()
{
int a,x=0,y=0,z=0;
scanf("%d",&a) ;
if(isalpha(a))x++; //把'a'改为a
else if(isdigit(a))y++; //把'a'改为a
else z++;
printf("字母数=%d,数字数=%d,其他字符数=%d\n",x,y,z);
return 0;
}