在C中迭代字符串的首选方法是什么?

Pho*_*exo 1 c string iteration

    char *vowels = "aeiouyæøå";
    int len = strlen(vowels);
    int counter;
    for (counter = 0; counter < len; counter++) {
        char vowel = *vowels++;
        printf("%c\n", vowel);
    }
Run Code Online (Sandbox Code Playgroud)

要么

    char *vowels = "aeiouyæøå";
    int len = strlen(vowels);
    int counter;
    for (counter = 0; counter < len; counter++) {
        char vowel = vowels[counter];
        printf("%c\n", vowel);
    }
Run Code Online (Sandbox Code Playgroud)

或者,还有更好的方法?

Luc*_*ore 7

char c;
while ( c = *(vowels++) )
{
}
Run Code Online (Sandbox Code Playgroud)

没必要strlen.