+ -
当前位置:首页 → 问答吧 → 初学C++ 汉字统计问题

初学C++ 汉字统计问题

时间:2011-12-03

来源:互联网

这是上网找的代码,可以正常运行,但是 
for (int i = 0; a[i]; i++) 这句表示不能理解
 这句里面是怎样统计循环次数的,很奇怪。
C/C++ code
int main ()
{
    char a[10000];
    int n;
    cin >> n;
    getchar();
    while (n--)
    {
        int count = 0;
        gets(a);
        for (int i = 0; a[i]; i++)
        {
            if (a[i] < 0 )
                count ++;
        }

作者: Crazy_Frog   发布时间: 2011-12-03

a[i]为字符串结束符的时候就会退出循环了

作者: et214721856   发布时间: 2011-12-03

a[i] 等价于 a[i] != '\0';

作者: hnuqinhuan   发布时间: 2011-12-03

至于a[i]<0则是通过汉字编码的截断来判断的

作者: hnuqinhuan   发布时间: 2011-12-03

楼上正解

作者: yuegeman   发布时间: 2011-12-03

引用 2 楼 hnuqinhuan 的回复:

a[i] 等价于 a[i] != '\0';
++

作者: qwer_boo   发布时间: 2011-12-03