#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】,达到了删除的目的
扬帆大鱼
TA贡献1799条经验 获得超9个赞
isdigit判断该字符是否为数字,是数字返回非0。
=0或’\0’为字符串结束符,一般字符串都有结束符,不然系统认不了
isdigit判断该字符是否为数字,是数字返回非0。
=0或’\0’为字符串结束符,一般字符串都有结束符,不然系统认不了
哈士奇WWW
TA贡献1799条经验 获得超6个赞
你是要删除数字字符,所以if条件中判断不是数字字符就保存起来,‘\0'是字符的结束符,如果没有,会出现乱码
isdigit是ctype.h这个头文件里的一个库函数,表示判断字符是否是0-9的数字
- 3 回答
- 0 关注
- 158 浏览
添加回答
举报
0/150
提交
取消