问题描述:
C语言 这个表达式怎么理解 新手请大神详述total += isalnum(ch[i])!=0;
#include "stdio.h"
#include "ctype.h"
main()
{
\x05char ch[40];
\x05int i = 0;
\x05int alpha = 0;
\x05int digit = 0;
\x05int total = 0;
\x05printf("请输入字符串:\n");
\x05fgets(ch,sizeof(ch),stdin);
\x05while (ch[i]!='\0')
\x05{
\x05\x05total += isalnum(ch[i])!=0;
\x05\x05digit += isdigit(ch[i])!=0;
\x05\x05alpha += isalpha(ch[i])!=0;
\x05\x05i++;
\x05}
\x05printf("数字:%d\n",digit);
\x05printf("字母:%d\n",alpha);
\x05printf("总共:%d\n",total);
}
1个回答
分类:
综合
2014-11-21
问题解答:
我来补答
数组ch的第i+1项的值代入函数isalnum中所返回的值判断是否等于0,如果等于0,isalnum(ch[i])!=0返回1,total就加1,否则返回0,total不增加;
再问: 不是加减运算符的优先级比逻辑运算符高么 会不会先结合+ 在判断!=
再答: 你在哪看见+了。
再答: 自加、加、+=不是一个东西哦
再答: 饿,看错了,以为是==
展开全文阅读