kid_0203
kid_0203
采纳率85.1%
2015-11-14 16:23 阅读 1.7k
已采纳

c语言isalpha isdigit 使用问题

 #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+呀

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    havedream_one havedream_one 2015-11-15 00:00

    if(isalpha('a')),这里的a不是你定义的变量,使用变量直接写就行,如果是一个字母a,就用引号括起来,
    if(isalpha(a)): 判断变量a是不是字母
    if(isalpha('a')):判断字符‘a'是否是字母,显然这个是永真式

    点赞 1 评论 复制链接分享
  • qq_27183003 ysuwood 2015-11-14 17:50
     #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;      
    }
    
    点赞 评论 复制链接分享

相关推荐