L'inversion de Matrice en C?

Salut, j'essaie de mettre en place un inverse de la matrice de code mais il ne marche pas semblent travail et im vraiment pas pourquoi. Pour la boucle ne semble pas y travailler. Je ne sais pas pourquoi, parce que la logique semble assez bonne pour moi.

#include <stdio.h>
#include <string.h>

void reverse(char, int);

int main()
{
    char a[100];
    gets(a);

    reverse(a, strlen(a)-1);

    printf("%s\n",a);
    getchar();
    getchar();
    getchar();
    return 0;
}

void reverse(char ar[], int n)
{
    char c;
    int i = 0;
    printf("n = %d" , n);
    for ( i = 0; i >= n ; i++){
        c = ar[i];
        ar[i] = ar[n];
        ar[n] = c;
        printf("Processed");
        n--;}

}


/*
if (begin >= n)
return;

c          = *(x+begin);
*(x+begin) = *(x+n);
*(x+n)   = c;
offs = x++;
printf("Begin = %d   ,  n = %d, offs = %p  \n", begin, n, offs);
reverse(x, ++begin, --n); */
Vous voudrez peut-être commencer par faire votre prototype correspondent à votre fonction réelle.
peut-être qu'il devrait être i<=n ?!
Ci-dessous il y a une commenté code qui fonctionne quand je passe la 3 paramètres, mais je tiens à le limiter à simplement de passage 2 paramètres, la chaîne et sa longueur
Oh hasanovh merci!
Par curiosité seulement, pourquoi même passer la longueur. Êtes-vous envisager de l'appel de ce sur seulement une partie de la chaîne? Ou est invoquant strlen() de reverse() tout simplement pas dans la timonerie de cette mission?

OriginalL'auteur JoC | 2013-10-11