[VC++2005 express]Run-Time Check Failure #2
Bonjour
j'ai un projet avec le code suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| #include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "tuto3.h"
int main(int argc, char *argv[])
{
long num[55];
srand((unsigned)time(NULL));
for (int i=0;i<=55;i++)
{
num[i]=rand()%1000;
printf("%ld\n",num[i]);
}
printf("afficher le resultat :\n");
system("PAUSE");
printf("voilà: %ld",somme(num,54));
return 0;
}
long somme(long nums[], long taille)
{
long resultat=0;
for(int i=0;i<=taille;i++)
resultat+=nums[i];
return resultat;
} |
je le compile et il s'execute normalement jusqu'à la fin, mais là, il m'affiche une fenêtre d'erreur qui me propose d'arreter ou de continuer
:
Citation:
Run-Time Check Failure #2 - Stack around the variable 'num' was corrupted.
...
si j'arrete, il me pointe la dernière ligne du main (au niveau de l'acollade fermée):
Code:
1 2 3
| printf("voilà: %ld",somme(num,54));
return 0;
}//<--là |
si je lui dis de continuer, il s'arrete normalement. la fin du journal d'erreur est:
Citation:
[...]
Run-Time Check Failure #2 - Stack around the variable 'num' was corrupted.
Le programme '[3716] tutozero3.exe: Natif' s'est arrêté avec le code 0 (0x0).
si vous aviez une idée de la nature de l'erreur...:?
Merci