2016-09-29 4 views
0

So haben wir diesen Code als Beispiel und wurden gesagt, um herauszufinden, was ist los damit. Visual Studios unterstreicht printMessage("I know my stuff!"); als Teil mit dem Fehler, aber ich weiß nicht, was los ist. Jede Hilfe wäre hilfreich für jemanden, der nur Code lernt."Was ist falsch an der folgenden Auflistung?" Ich versuche, Funktionen zu lernen, aber brauche etwas Hilfe

+3

"printMessage" akzeptiert keine Argumente und Sie versuchen, ein Argument an 'printMessage zu übergeben '. – immibis

+2

'void printMessage (void);' say "Es gibt kein Argument.". Es wird erwartet, dass es als 'printMessage();' aufgerufen wird. – BLUEPIXY

+0

Funktionen, Codebausteine ​​(für, if, else, while, do ... während, switch, case, default) Gruppen von '# include' Anweisungen, Gruppen von Funktionsprototypen, sollten zur besseren Lesbarkeit durch eine Leerzeile getrennt sein – user3629249

Antwort

3

Die printMessage() - Funktion wird deklariert, keine Parameter zu übernehmen, aber der Aufruf übergibt einen Zeiger auf char, d. H. Das Zeichenfolgenliteral "Ich kenne meine Sachen!" zur Funktion.

Es ist sehr einfach, den Code zu ändern, so dass es funktioniert;)

1
void printMessage(char message []) /* You can also use void printMessage(char *message) */ 
{ 
    printf("%s\n",message); 
    return; 
} 

oder

void printMessage() 
{ 
    printf("I know my stuff!\n"); 
    return; 
} 

Wenn Sie die erste Methode verwenden, sollten Sie auch die Funktionsdeklaration an der Spitze ändern (Zeile 2) soll sein. Wenn Sie die zweite Option verwenden, geben Sie beim Aufruf der Funktion in Zeile 5 nichts an.

Verwandte Themen