分类：电脑/网络-程序设计-C/C++
问题：关于C语言中：统计字符串中数字出现的个数的题这个题目中设置了这样 
这个题目中设置了这样的一个循环：
void fun (char s[])
{int i,cut=0;
for (i=0;s[i];i++)下面的语句没有写，请问：
 为什么这个循环中s[i]为什么不是大于什么或小于什么，为什么要s[i]这么写呢？
回答：题目的完整程序如下：
int fun (char s[]) 
{int i,cut=0; 
for (i=0;s[i];i++)
  if(s[i]>='0'&&s[i]<='9')
     cut++;
  return cut;
}
至于循环中为什么只写了s[i]这个问题，循环结束的条件应该是字符串的结束，而c语言中字符串的结束符用‘\0’表示，而‘\0’的ASCII码值为0，并且在c语言中的非零表示真，零表示假。所以若s[i]是字符串结束符时，s[i]的值为0，即为假，所以退出循环。否则，s[i]的值为真，继续进行循环。