#include <stdio.h>
#define IN 1 /* inside a word */
#define OUT 0 /* outside a word */
/* count lines, words, and characters in input */
main()
{
int c, nl, nw, nc, state;
state = OUT;
nl = nw = nc = 0;
while ((c = getchar()) != EOF) {
++nc;
if (c == '\n')
++nl;
if (c == ' ' || c == '\n' || c = '\t')
state = OUT;
else if (state == OUT) {
state = IN;
++nw;
}
}
printf("%d %d %d\n", nl, nw, nc);
}
Ich habe K & R Buch, aber es gibt einige Codes, die nicht kompilieren!C: Code unten kann nicht kompiliert werden?
es gibt mir - 19 C: \ Benutzer \ Nom \ Desktop \ Untitled1.c ungültig lvalue in Zuordnung
edit: jetzt funktioniert es, Danke Jungs, aber jetzt tut es nichts! Die printf-Anweisung funktioniert nicht. Es öffnet die Dos-Konsole, ich gebe alles ein und es wird nur eine neue Zeile zurückgegeben. Ich benutze Dev-C++ 4.9.9.2
edit: Ich habe die printf-Anweisung innerhalb der while-Schleife und es funktioniert jetzt. Dank
sein vielleicht sollte dies ein == "c werden sollte = '\ t' " – kenny
Auch' main' sollte einen Rückgabetyp von 'int' haben. – Falmarri
Ob Sie es glauben oder nicht, diese Fehlermeldungen, die der Compiler gibt, sind aus einem bestimmten Grund da. In diesem Fall wird eine Zuweisung in einer Zeile erwähnt, die keine Zuweisung haben soll. Also solltest du dir diese Zeile ansehen, um zu sehen, ob es etwas gibt, das sich in eine Aufgabe verwandeln könnte, wenn du etwas falsch liegst. –