Problem mit C und gcc unter Ubuntu Linux

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Problem mit C und gcc unter Ubuntu Linux

    Hallo,

    ich habe ein Problem unter Linux. Ich weiß nicht ob es an meinem Compiler liegt oder ob ich den Fehler einfach nicht erkenne zumindest finde ich keinen.
    Also mein Problem ist folgendes: Ich habe Arrays, die ich nacheinander zuweise mit verschiedenen Werten und dann in einer verschachtelten Schleife prüfe, ob es welche gibt mit gleichen Werten (war geplant für ein Lottoscript im Informatik Unterricht).
    Allerdings hat mir das Programm immer den Wert im letzten Index des Arrays verändert, sodass immer 2 gleich waren.

    Habe dazu auch nun mal ein Testprogramm geschrieben, was das ganze in kleinem Code schnell darstellt:

    Quellcode

    1. #include <stdio.h>
    2. int test[5];
    3. int test2[5];
    4. int i,j;
    5. int main(void){
    6. printf("Quadrat:\n");
    7. for(i = 0; i<6;i++){
    8. test[i] = i * i;
    9. printf("%d\n",test[i]);
    10. }
    11. printf("\n");
    12. printf("Doppelte:\n");
    13. for(i = 0; i<6;i++){
    14. test2[i] = i * 2;
    15. printf("%d\n",test2[i]);
    16. }
    17. printf("\n\n");
    18. for(i = 0; i<6;i++){
    19. for(j = 0;j<6;j++){
    20. if(test[i]==test2[j]){
    21. printf("\nPow: %d\nDoppelte: %d\n\n",test[i],test2[j]);
    22. }
    23. }
    24. }
    25. return 0;
    26. }
    Alles anzeigen


    Die Ausgabe sieht dann so aus:
    Quadrat:
    0
    1
    4
    9
    16
    25

    Doppelte:
    0
    2
    4
    6
    8
    10



    Pow: 10
    Doppelte: 10


    Pow: 4
    Doppelte: 4


    Pow: 0
    Doppelte: 0


    Die letzten beiden stimmen, wie zu sehen ist... Allerdings gibt es die 10 im ersten Array nicht...

    Hier noch ein paar Informationen zu System und Compiler:
    Ubuntu Linux 7.04 (32 Bit Version auf Athlon64 System)
    gcc 4.1.2
  • "Domna" schrieb:

    Dann müsste ich aber nen Compiler Fehler bekommen oder?
    Aber ich probiers ma...

    //edit: Habs grade probiert: läuft... vielen Dank!


    Wenn du in ein zu kleines Array schreibst bekommst du keinen Compilerfehler sondern schlichtweg undefinirtes Verhalten zur Laufzeit.
    There are only 10 types of people in the world: Those who understand binary, and those who don't.

    Download meines ersten Spiels:HIER
    Über Feedback würde ich mich freuen ;)