发布网友 发布时间:2024-07-22 17:23
共6个回答
热心网友 时间:2024-08-07 22:41
在ASCII编码中,只有空字符'\0'也即NULL对应的十进制数是0,其余字符的对应的十进制数都大于零。热心网友 时间:2024-08-07 22:37
循环的终止条件是s[i]=='\0',所以循环只会统计012xy这5个字符中的数字,共有三个,所以输出3热心网友 时间:2024-08-07 22:43
因为这个数组是char类型的,s[0]是'0’,它的ASCII码是48,循环中比较的也是ASCII码,你查查ASCII码对照表就知道了http://wenku.baidu.com/view/58277d37f111f18583d05a9b.html热心网友 时间:2024-08-07 22:43
s[i]!=0直接和数字比较,这是ascii码,确定的是\0;s[i]>='0'是和字符比较,直接看是否是数字,因此只有012的时候才可以进入到if条件中,只有012xy才可以进入for中热心网友 时间:2024-08-07 22:39
s[i]!=0 指的是数组不为空。这个函数就是求是数组s[]中的阿拉伯数字的个数,但是/0为终止,所以只数012xy中的012,答案即为3热心网友 时间:2024-08-07 22:39
我试了一下,答案没有错。我觉得容易错误的地方在于for循环条件里面的s[i]!=0 。这个表达s[i]为真,即循环一直到'\0'就停止了。之前只有三个数字。因此n的值就是三了。