Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

rückgabe von mehreren werten einer funktion (c)

hallo,

vielleicht kann mir von euch jemand helfen? bin relativer anfänger in c.

ich muss eine funktion programmieren, die 2 strings miteinander vergleicht und daraus mehrere scores errechnet (sequenzanalyse in manier eines dotplots) und insgesamt 6 bestimmte werte zurückgibt.

muss ich die werte im main als zeiger definieren, also z.b. *a *b *c *d *e *f? hab wenig erfahrung mit zeigern.
mit externen variablen soll ich nicht arbeiten damit die funktion übertragbar ist.

danke schon mal


Antworten zu rückgabe von mehreren werten einer funktion (c):

Du musst die funktion so deklarieren, dass sie Zeiger auf Variablen nimmt:

void dosomething( int* ausgabe1, short* ausgabe2 )
{
  *ausgabe1 = 7;
  *ausgabe2 = 23;
}

Und beim Ausruf:
int zahl1;
short zahl2;
dosomething( &zahl1, &zahl2 );

Danach enthalten zahl1 und zahl2 die Werte.

danke für die antwort

muss ich, wenn ich zwei strings vergleiche, nicht diese an die funktion übergeben?

void dosomething( char string1, char string2 )
{
     berechnung von *a,*b,*c,*d,*e,*f;
}

Und beim Aufruf:
char string1[];
char string2[];
dosomething( string1, string2 );

Die Strings natürlich auch....
aber das mit den ints is wie du die Werte aus der Funktion raus kriegst

void dosomething( char string1, char string2 )
{
     berechnung von *a,*b,*c,*d,*e,*f;
}

Und beim Aufruf:
char string1[];
char string2[];
dosomething( string1, string2 );
Da sollte aber jemand ganz gehörig meckern.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
3 Leser haben sich bedankt

hmm leeres array (hab sowas nie gemacht, is das zulässig? ;D)

hmm leeres array (hab sowas nie gemacht, is das zulässig? ;D)
Mitunter auch das sollte den Compiler meckern lassen.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
3 Leser haben sich bedankt
void dosomething( char string1, char string2 )

char string1[];
char string2[];
dosomething( string1, string2 );

oha ;D da übergibt jemand eine adresse an zwei char variabeln ;D
(wirklich nicht gut)
(das ich das ned gesehen habe... jetzt hab ich wieder depressionen ;D)

« programmeBB multiplikative chiffre / modulo »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Compiler
Als Compiler bezeichnet man ein Programm zum Übersetzen der Quellprogramme einer bestimmten Programmiersprache in ausführbare Dateien, also in die Maschinenspra...