为了账号安全,请及时绑定邮箱和手机立即绑定

请问if(!isdigit(s[i])) 什么意思 有实际用吗?

请问if(!isdigit(s[i])) 什么意思 有实际用吗?

C
HUH函数 2023-03-18 18:14:04
#include <ctype.h>#include <stdio.h>char* dele(char *s){int n=0,i;for(i=0;s[i];i++)if(!isdigit(s[i]))s[n++]=s[i];s[n]=0;return s;}为什么条件if 要s[i]<'0'||s[i]>'9'啊 不应该相反吗 请在解释下 s[0]=0或者'\0'什么意思啊 初学者 请详细解释下 谢谢。
查看完整描述

3 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

if(!isdigit(s[i])) 中间的这个isdigit(s[i])是判断s【i】是不是为数字,如果为数字返回非o值,比如s【i】是一个数字,isdigit(s[i])就返回一个非0,!isdigit(s[i])就是是0值,if后面的语句就不执行,就相当于数字不存到新的数组里面s【n】,达到了删除的目的

查看完整回答
反对 回复 2023-03-21
?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

isdigit判断该字符是否为数字,是数字返回非0。
=0或’\0’为字符串结束符,一般字符串都有结束符,不然系统认不了
isdigit判断该字符是否为数字,是数字返回非0。
=0或’\0’为字符串结束符,一般字符串都有结束符,不然系统认不了

查看完整回答
反对 回复 2023-03-21
?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

你是要删除数字字符,所以if条件中判断不是数字字符就保存起来,‘\0'是字符的结束符,如果没有,会出现乱码
isdigit是ctype.h这个头文件里的一个库函数,表示判断字符是否是0-9的数字

查看完整回答
反对 回复 2023-03-21
  • 3 回答
  • 0 关注
  • 158 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信