Bonjour

j'ai un projet avec le code suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
:
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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:
[...]
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