Forum: Mikrocontroller und Digitale Elektronik Funktionsaufruf


von helge (Gast)


Lesenswert?

Hallo
Ich hab ein Stück Programm gebastelt, wo ich eine Unterfunktion aufrufen 
möchte. Sie soll mir die Anzahl einer Telefonnummer ausgeben. Schreibe 
ich das Prog. ohne Unterfunktion gehts. Mach ich beim Aufruf was falsch? 
Hab die Nummer als:               char nummer[]="491714014430";
global declariert. Hier das Prog.

while (1)
      {
      nummernlaenge;
      break; //erst mal stop
      };
}

/******************ANFANG UNTERPROGRAMME********************/

/***********rufnummernlaenge berechnen und ausgeben*********/
  nummernlaenge()
  {
  anzahl=0;
  anzahl=strlen(nummer);             //rufnummern laenge
  printf("%#.02X",anzahl);           //ausgeben in hex
  }

Gruß Helge

von crazy horse (Gast)


Lesenswert?

Funktionsaufrufe immer mit () benutzen, auch wenn nichts übergeben wird.
Also: nummernlaenge();
Damit sollte es erstmal funktionieren.
Sinnvoller und auch leichter lesbar wird die Sache, wenn du nummer der 
Funktion übergibst und anzahl als Ergebniswert zurückbekommst.

von Helge (Gast)


Lesenswert?

Vielen Dank.Ich werd mein Glück heute Abend mal probieren.Muß ja erst 
mal arbeiten :-((

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Außerdem ist der Typ der Variable anzahl nicht angegeben. Probier's mal 
mit "int anzahl" anstatt "anzahl=0".

von helge (Gast)


Lesenswert?

Vielen Dank allerseits.Es haben beim Aufruf die Klammern 
gefehlt.Seltsamerweise hats bei anderen Programmen funktioniert.Also für 
die Zukunft mit Klammern.

Ich hab vergessen in meinem Beitrag zu schreiben das ich die Anzahl auch 
als int Declariert habe.Danke für den Tip

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.