www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Funktionsaufruf


Autor: helge (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Helge (Gast)
Datum:

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

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

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

Autor: helge (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.