Analizando el for:
for(i=0;i<100 && palabra!='\0';i++);
Mientras: I es igual a 1. Mientras I sea menor que 100 Y palabra No sea \0, aumenta en 1 I
Recorres palabra[] hasta que llegas al final de la palabra, por cada letra, le suma 1 a i.
Aparte:
Intenta no usar void main, pues el sistema espera que le devuelvas algo. Una int main, y return al final del programa.
Te dejo el código corregido (Te faltaba indicar la celda en palabra)
Consejo, lee el post de Littlehorse, sobre lo que no se debe hacer en C (Lo digo por fflush)
for(i=0;i<100 && palabra!='\0';i++);
Mientras: I es igual a 1. Mientras I sea menor que 100 Y palabra No sea \0, aumenta en 1 I
Recorres palabra[] hasta que llegas al final de la palabra, por cada letra, le suma 1 a i.
Aparte:
Intenta no usar void main, pues el sistema espera que le devuelvas algo. Una int main, y return al final del programa.
Te dejo el código corregido (Te faltaba indicar la celda en palabra)
Código (c) [Seleccionar]
#include <stdio.h>
int main()
{
char palabra[100];
int i=0;
printf("Mete una palabra:");
scanf("%s",palabra);
for(i=0;i<100 && palabra[i]!='\0';i++);
printf("\n\nLa palabra %s tiene %d letras",palabra,i);
fflush(stdin);
getchar();
return 0;
}
Citarserch@serch-server:~$ gcc 1.c -Wall
serch@serch-server:~$ ./a.out
Mete una palabra:sergio
La palabra sergio tiene 6 letrasserch@serch-server:~$
Consejo, lee el post de Littlehorse, sobre lo que no se debe hacer en C (Lo digo por fflush)