在C中获取字符串长度

Get string lenght in C

我想循环字符串中的所有字符以获得字符串长度,但它不起作用。我不喜欢使用已经创建的函数来这样做。

#include <stdio.h>
#define N 100
int main()
{
    int i=0;
    char str[N];
    scanf("%s", &str);
    while(str[i]!="[=10=]"){
        i=i+1;
    }
    printf("Lenght: %d", i);
    return 0;
}

对于初学者来说,scanf 的调用必须至少看起来像

scanf("%s", str);

而不是

scanf("%s", &str);

在while循环的条件下

while(str[i]!="[=12=]"){

比较了一个字符与字符串文字 "[=15=]",它被隐式转换为指向其第一个字符的指针。所以比较了一个字符和一个指针。

你需要比较两个字符

while(str[i] != '[=13=]' ){

或者只是

while(str[i]){