Summe von zwei arrays

Die übung sagt "Machen Sie eine Funktion mit Parameter zwei int-arrays und k, das ist Ihre Größe. Die Funktion zurückgeben soll ein array (Größe k), wo jedes element ist die Summe der beiden arrays an der gleichen position. Das ist, was ich schrieb, aber es stürzt ab. Mache ich es mit Zeigern?

#include <stdio.h>
#include <stdlib.h>

void sumarray(int k,int A[k],int B[k]){
   int sum[k],i;
   for(i=0;i<k;i++){                
   sum[i]=A[i]+B[i];
   printf("sum[%d]=%d\n",i,sum[i]);}

 }



main(){
   int i,g,a[g],b[g];
   printf("Give size of both arrays: ");
   scanf("%d",&g);
   for(i=0;i<g;i++){
      a[i]=rand();
      b[i]=rand();
   }
   sumarray(g,a,b);
   system("pause");
}

Beispiel: Wenn ich habe A={1,2,3,4} und B={4,3,2,1} das Programm return C={5,5,5,5).

Wie weit kann man, bevor es abstürzt?
Was ist der crash? Was ist die Fehlermeldung? mit welcher input?
a und b werden sollte, Zeiger:int *a, *b, dann initialisieren des arrays mit malloc oder calloc.
Es ist nicht einmal starten. Ich bekomme einen schwarzen Bildschirm und ich bekomme eine Fehlermeldung und das Programm beendet.

InformationsquelleAutor captain | 2011-04-12

Schreibe einen Kommentar