SOS boucle infinie
Résolu
znounou
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Salut,je debute en c et je suis un peu nul en essayant de faire un tableau de multiplication j ai eu une boucle infinie donc je me tourne vers vous car j ai chercher long temps sur le net sans découvrir ou est l erreur , voila le programme et merci d'avance :)
#include <stdio.h> #include <stdlib.h> int main() { int i,j; int t[9][9]; for(i=1;i<=9;i++){ for(j=1;j<=9;j++){ t[i][j]=i*j; } } for(i=1;i<=9;i++){ for(j=1;j<=9;j++){ if(j=9){printf("%d\n",t[i][j]);} if(j=!9){printf(" %d ",t[i][j]);} } } system("PAUSE"); return 0; }
1 réponse
'lut, l'erreur classique
De même, ce n'est pas
Et ton tableau n'est pas assez grand: il fait 9x9, or tu accèdes jusqu'à l'élément 9,9 ; les tableaux commencent à 0! Pour faire simple, fait le de 10x10.
(portables dans la pratique, @fiddy, avant que tu me tapes dessus)
Et pour finir, ton identation est... exotique. Généralement on décale d'un nombre fixe d'espaces/tabulations lors de l'ouverture/fermeture d'un bloc de code (
from human import idiocy
del idiocy
if(j=9){printf("%d\n",t[i][j]);} if(j=!9){printf(" %d ",t[i][j]);}
j=9attribue 9 à
j, donc la boucle ne se termine jamais. En C, on teste l'égalité avec l'opérateur
==.
De même, ce n'est pas
j=!9mais
j!=9.
Et ton tableau n'est pas assez grand: il fait 9x9, or tu accèdes jusqu'à l'élément 9,9 ; les tableaux commencent à 0! Pour faire simple, fait le de 10x10.
system("PAUSE");peut être remplacé par
getchar();, plus portable.
(portables dans la pratique, @fiddy, avant que tu me tapes dessus)
Et pour finir, ton identation est... exotique. Généralement on décale d'un nombre fixe d'espaces/tabulations lors de l'ouverture/fermeture d'un bloc de code (
{}), pas de la largeur de la boucle/condition.
from human import idiocy
del idiocy
Je tape sur personne moi :-).