Pętla zamiast strlen

0

Witam, potrzebuje stworzyć pętle która będzie pracować tak jak funkcja strlen. Mam coś takiego, ale nie wiem co trzeba zmienić:

int main()
{
    int i,dlugosc=0;
    char a;
    printf("wpisz znak\n");
    scanf ("%s", &a);
    for (i=0;i!=' ';i++)
        dlugosc+=i;
    printf ("%d", dlugosc);
    return 0;
}
0

Na sam początek warto byłoby wczytywać dane do ciągu znaków, a nie jednego znaku.

0

Eeem, czyli jak? Mam %s to chyba ciąg znaków czy nie?

1

No a jakiego typu masz zmienną?

0

Chciałem dać string ale mi się nie "zapalał" na niebiesko.

0

Moze po prostu cos takiego?

#include <stdio.h>


int main() {
    char napis[]= "napis";
    char *wsk = napis;
    int index = 0;
    
    while(*wsk != '\0')
    {
        index++;
        wsk++;
    }
    printf("%d \n",index);
        
    return 0;
}
0

Ludzie zamiast uczyć się jak wykorzystywać te podstawowe funkcje to przepisują je na nowo.

0

Najprostsza wersja strlen:

size_t my_strlen(const char *str) {
    const char *ptr = str;
    while (*(ptr++) != 0) {}
    return ptr - str;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1