Ergebnis 1 bis 9 von 9

Thema: C, rand()

  1. #1
    Coinflip. Avatar von Smokin' Caterpillar
    Registriert seit
    27.03.05
    Beiträge
    184

    C, rand()


    Hey, ich hab jetzt schon stundenlang gegoogelt, aber nichts wirklich hilfreiches gefunden.
    Die rand() Funktion auf unserem UNI-Rechner liefert mir immer ein und die selbe Zufallszahl pro Programm Aufruf, warum?

    Hier mal der Quellcode der Testumgebung:
    #include <stdio.h>
    #include <stdlib.h>

    int main(void)
    {
    int random;
    int i;
    srand(time(NULL));
    for(i=0;i<10;i++)
    {
    random=rand();
    printf("random=%d\n", &random);
    }
    }

    Und das steht nachher in der Konsole:

    ./rand
    random=-1081473940
    random=-1081473940
    random=-1081473940
    random=-1081473940
    random=-1081473940
    random=-1081473940
    random=-1081473940
    random=-1081473940
    random=-1081473940
    random=-1081473940


    Warum immer ein und die selbe Zahl und warum ist diese auch noch neagtiv, ich dachte rand() produziert "Zufallszahlen" von 0 bis 32767?
    Math, Science, History, unraveling the mysteries
    Barenaked Ladies - Big Bang Theory

  2. #2
    Registrierter Benutzer Avatar von alpha civ
    Registriert seit
    22.07.06
    Beiträge
    16.757
    Vielleicht hilft dir der Link (falls du ihn nicht schon gefunden hast): http://www.wer-weiss-was.de/theme158...le3503800.html

  3. #3
    ¡Olé! Avatar von Harleen
    Registriert seit
    07.01.06
    Ort
    Bremen
    Beiträge
    9.359
    Du gibst beim printf() einen Zeiger aus. Entferne dort mal das & vor random. Gibt dein Compiler da keine Warnung raus?

  4. #4
    Registrierter Benutzer Avatar von Smeagol
    Registriert seit
    26.09.06
    Beiträge
    186
    printf("random=%d\n", &random);

    in

    printf("random=%d\n", random);

    ändern.

    Du gibst nicht die Zufallszahl sondern den Zeiger aus. Die Speicheradresse ändert sich nicht.

  5. #5
    Coinflip. Avatar von Smokin' Caterpillar
    Registriert seit
    27.03.05
    Beiträge
    184
    ja auch schon gesehen, hilft aber nicht, srand() steht ja shcon da.
    Math, Science, History, unraveling the mysteries
    Barenaked Ladies - Big Bang Theory

  6. #6
    Coinflip. Avatar von Smokin' Caterpillar
    Registriert seit
    27.03.05
    Beiträge
    184
    Zitat Zitat von Smeagol Beitrag anzeigen
    printf("random=%d\n", &random);

    in

    printf("random=%d\n", random);

    ändern.

    Du gibst nicht die Zufallszahl sondern den Zeiger aus. Die Speicheradresse ändert sich nicht.
    aehm ja lol, danke, manchmal sieht man den wald...aeh ja^^
    Math, Science, History, unraveling the mysteries
    Barenaked Ladies - Big Bang Theory

  7. #7
    Registrierter Benutzer Avatar von alpha civ
    Registriert seit
    22.07.06
    Beiträge
    16.757
    edit: Hat sich erledigt.

  8. #8
    elbow deep Avatar von JIG
    Registriert seit
    21.01.02
    Ort
    Planet Tim Hortons
    Beiträge
    3.317
    Grandioser Titel. Der einzige Grund warum ich nicht ueber diesen strunzlangweiligen thread herziehe.

    Die Kinder sind im Bett, der Sack Flöhe gehütet, Opa endlich eingeschlafen?



    In der ersten Dimension existiere ich
    In der zweiten lebe ich
    In der dritten bin ich frei

  9. #9
    Coinflip. Avatar von Smokin' Caterpillar
    Registriert seit
    27.03.05
    Beiträge
    184
    Zitat Zitat von JIG Beitrag anzeigen
    Grandioser Titel. Der einzige Grund warum ich nicht ueber diesen strunzlangweiligen thread herziehe.
    Merke, in Kanada haben die Leute einen Stock im Arsch
    Math, Science, History, unraveling the mysteries
    Barenaked Ladies - Big Bang Theory

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •