Ayuda, explicacion de codigo

(1/1)

negux:
Que tal, navegando me encontre con este codigo, ya se que es lo que hace por que lo compile, por ejemplo si escribo un 3, me imprimira un dos pero no entiendo como funciona el for, que accion tiene aqui  :huh: y mucho menos ese punto y coma despues  :huh: :huh:
les agradeceria que me explicaran
Código:

#include<stdio.h>
int main()
{
    /*
   
    const char s[]="`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./";
    char c;
    while((c=getchar())!=EOF)
    {
       long i;
       for(i=1;s[i]&&s[i]!=c;i++)
       ;
       if(s[i])
         putchar(s[i-1]);
       else
         putchar(c);
    }
return 0;
}

Akai:
ese for, unicamente incrementa la i mientras s sea TRUE (diferente de \0) y diferente del char c.

quizá te liase menos verlo así:

for(i=1;s&&s!=c;i++);

Eso quiere decir que el for no tiene ninguna instrucción a iterar.

Navegación

[0] Índice de Mensajes