for(i=0;
i=strlen(lectura)!='\0'; i++)
un for tiene la siguiente estructura:
for( inicializaciones ; condicion para continuar la ejecucion del bucle ; actualizacion variables )
En tu caso estás modificando el valor de 'i' en la parte de "condiciones" y, bueno, el problema no es únicamente ese, es que estás asignando
siempre el mismo valor y, como además, ese valor es distinto de 0, el bucle se repetira hasta el fin de los tiempos.
Te recomiendo encarecidamente que mires un buen manual de C. No creo que sea la única práctica a hacer en C así que tendrás menos dolores de cabeza si empiezas a entender al menos lo básico.
Y, lo dicho, a tu bucle le sobra la asignación. ¿Cómo debería quedar? pues con lo que tienes se me ocurren dos opciones:
- El primero se ejecutará hasta que 'i' alcance un valor equivalente al número de caracteres de la cadena 'lectura'
- El segundo se ejecutará hasta que la posición 'i' de la cadena 'lectura' contenga el carácter nulo.
Un saludo