一种循环C字符数组的骚操作

#include <stdio.h>
#include <stdlib.h>
int main()
{
    char wenwa[] = "程劲小盆友在做什么";
    int _len = 0;
    while (wenwa[_len])
    {
        printf("%c", wenwa[_len]);
        _len++;
    }
    printf("\n");
    system("pause");
    return EXIT_SUCCESS;
}

看到while的循环条件,不禁让人叹为观止,这他妈的什么操作,详解如下:

  • 首先我们都知道c语言的字符数组作为结束的标志是单引号包裹的字符'\0'
  • wenwa[_len]意味着从字符数组的第0位开始读取信息,每次循环体中的_len++都向前推进,所以我们得以读取字符数组中的每一个字符
  • 如上所述,最终索引会推进到数组中的结束符'/0',从而wenwa[_len]会返回false,终止循环

猜你喜欢

转载自www.cnblogs.com/saintdingspage/p/10348160.html