Witam.
Jestem początkujący, sorry za banalne pytanie. Mam następujący kod :
#include <stdio.h>
#include <stdlib.h>
int lenght(char string[]) {
int index;
for (index=0; string[index]!="\0"; index++) {
continue; }
return index;
}
int main () {
char line[100];
while(1){
printf("Enter a new line : \n");
fgets(line, sizeof(line), stdin);
printf("New lenght : %d\n", lenght(line));
}
}
Chcę policzyć funkcją "lenght" ile jest zer w danym ciągu zapisanym w tablicy. Pewnej książce do C piszą, że w ten sposób będę mógł wprowadzić kolejne linie tekstu, a ich ilość będzie się wyświetlać i powiększać z każdą nową linią. Chcę to sprawdzić, ale pierwszy problem to warning podczas kompilacji : "comparison between pointer and integer" w linijce z pętlą for w funkcji lenght. Jeśli dobrze rozumiem - kompilator mówi mi, że string[index] to pointer, a nie wartość tablicy z danym indeksem, tak jakbym sobie życzył. Dlaczego tak jest? No i po kompilacji program się zawiesza po wpisaniu pierwszej linijki - pewnie to przez tą pętle while(1), ale z drugiej strony dlaczego tak jest? Wydaje mi się, że pętla powinna czekać z każdym wykonaniem, aż wpiszę kolejną i kolejną linię.
Dzięki.