0 Daumen
1,8k Aufrufe

Ich muss eine C-Funktion, die als Rückgabewert eine Zahl vom Typ Int liefert und einen Parameter vom Typ Zeiger auf char hat schreiben.

Wenn diese Funktion beim Aufruf eine Zeichenkette übergeben wird, dann soll sie in dieser Zeichenkette nach dem Has-Zeichen ( also hiermit ist # gemeint) suchen.

Die Funktion soll die Anzahl der Hashtag-Zeichen in der Zeichenkette als Rückgabewert liefern!

Hat da jemanden einen Ansatz?

Avatar von

Vom Duplikat:

Titel: C-Funktion schreiben! HILFE!

Stichworte: c,programm,zeiger,char,zeichenkette

Hallo liebe Community,

ich müsste eine Aufgabe gelöst bekommen die wie folgt ausschaut!

Ich muss eine C-Funktion schreiben die als Rückgabewert eine Zahl vom Typ int liefert

und einen Parameter vom Typ Zeiger auf char hat.

Wenn dieser Futkion beim Aufruf eine Zeichenkette übergeben wird, dann soll sie in dieser Zeichenkette nach dem Hashtagzeichen (#) suchen.

Die Funktion soll die Anzahl der # Zeichen in der Zeichenkette als Rückgabewert liefern.

Hat da jemand einen lösungsansatz ?

Du hast mittlerweile schon viele Fragen zum Schreiben von C-Funktionen gestellt und gute Antworten erhalten. Wo genau hakt es denn hier? Was hast du schon implementiert?

Ich habe meist Schwierigkeiten von meinem Professor die Aufgabenstelllung richtig zu verstehen.

Ich hab gedacht dass ich es so mache;


int Rückgabewert

char *Meter

char #[]="1,2,3,4,5,6,7,#,9,10"


printf("Die Anzahl der Hash-Zeichen beträgt",%c)


bin mir aber ziemlich unsicher.

1 Antwort

+1 Daumen

/**
* @param str A string
* @return Number of '#' characters in the string
*/
int count_number_signs(char* str) {
int count = 0;
for (char* i = str; *i != '\0'; ++i) {
if (*i == '#') {
++count;
}
}
return count;
}
Avatar von 5,7 k

Vielen Dank für deine Antwort!

Wenn ich dein Programm in den Compiler eingebe, passiert gar nichts..

Also da steht nur ''Programm beendet''.

Hat das Programm quasi das schon erfüllt?

LG

TimderStudent!

Mein Programm ist kein Programm. Es ist nur eine Funktion. In der Aufgabenstellung steht nicht, dass ein Programm geschrieben werden soll.

Wenn ich dein Programm in den Compiler eingebe, passiert gar nichts..

Eigentlich sollte dann aus der Quelltextdatei eine Objektdatei erzeugt werden.

Welchen "Compiler" verwendest du?

Hat das Programm quasi das schon erfüllt?

Worauf bezieht sich das Wort "das" in dieser Frage?

Den Online Compiler von meiner Uni ( C )

Cvis..

Also bei mir steht quasi nur dass das Programm beendet ist..

TimderStudent.PNG Also so sieht es in etwa aus ....

Ein C-Programm zeichnet sich gegenüber einer C-Funktion dadurch aus, dass es eine C-Funktion namens main hat.

Diese Funktion muss die Signatur

int main(void)
oder
int main(int argc, char* argv[])
haben.

Falls das Programm eine solche Funktion nicht besitzt, dann spuckt der Compiler normalerweise eine Fehlermeldung wie "undefined reference to `main'" aus.

Erkundige dich, ob du diese Funktion selbst schreiben musst und (falls ja) was sie tun soll oder (falls nein) was sie tut.

Ich würde mir wünschen, dass die Unis diesen Quatsch mit den Online-Compilern sein lassen würden.

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community