-
        
RSS-Feed anzeigen

Dr Cunthunt

Hilfe in C Programmierung

Bewerten
Hallo!

Ich wollte einen Zufallsgenerator schreiben welcher mit der Funktion time(Null) die Uhrzeit einer Variablen zuweißt.

Leider bekam ich folgende Fehlermeldung: initializer element is not constant

Ich weiß(glaube zu wissen) was der Fehler bedeutet -----> Das man statischen Variablen einen Konstanten Wert beim initialisieren geben muss.

Nur weiß ich leider nicht wie ich diesen Fehler umgehen kann damit es funktioniert.

Meine Entwicklungsumgebung in der ich dieses Programm schrieb ist CodeBlocks.

Hier der code:

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

unsigned long getRandom();

void main()
{
do
{
static unsigned long RandomNumber;
int i;

printf("Zufallszahlengenerator");
printf("\n======================");


for(i = 0 ; i <= 20 ; i++)
{
RandomNumber = getRandom();
printf("\n%2d. Zufallszahl:%ld",i+1,RandomNumber);
}
printf("\n\n\nBeenden? (j/n)\n\n");
}while(getch()!='j');

}

unsigned long getRandom()
{
static unsigned long Random = time(NULL)*1000;

Random = (Random/1000)%1000000;

Random *= Random;

return Random;
}

"Hilfe in C Programmierung" bei Twitter speichern "Hilfe in C Programmierung" bei Facebook speichern "Hilfe in C Programmierung" bei Mister Wong speichern "Hilfe in C Programmierung" bei YiGG.de speichern "Hilfe in C Programmierung" bei Google speichern "Hilfe in C Programmierung" bei del.icio.us speichern "Hilfe in C Programmierung" bei Webnews speichern "Hilfe in C Programmierung" bei My Yahoo speichern

Stichworte: - Stichworte bearbeiten
Kategorien
Kategorielos

Kommentare

  1. Avatar von witkatz
    Syntaktisch richtiger wäre
    Code:
    static unsigned long Random; 
    Random = time(NULL)*1000;
    Du kannst in getRandom() die Variable Random aber ruhig ohne static deklarieren. Static ist hier überflüssig.
    Auch RandomNumber in main() muss nicht static deklariert sein. static könntest du brauchen, wenn du mit dem alten Wert vom letzten Aufruf in der Funktion was machst. Solange es bei jedem Aufruf neu zugewiesen wird, ist static überflüssig. Hier noch etwas Doku zu static