Einführung: Ich bin ein Anfänger in C-Programmierung und mein Führer empfohlen "Die C-Programmiersprache" von Brain W. Kernighan. Beim Lesen des Buches stieß ich auf einen Code, der nicht ganz so funktioniert wie erwartet.Änderung von C-Code zur Verarbeitung der Eingabe
Das Problem: Die Konsole wartet auf weitere Eingaben, auch nachdem ich den gewünschten Text eingegeben habe. Grundsätzlich kann die Konsole nicht wissen, wann sie mit der Verarbeitung der Eingabe beginnen soll. Es ist sehr hilfreich, wenn jemand Änderungen am Code vorschlagen könnte, damit der Benutzer den Compiler anweisen kann, mit der Verarbeitung der bereitgestellten Eingabe zu beginnen.
Code:
#include <stdio.h>
#define IN 1 // inside a word
#define OUT 0 // outside a word
// program to count number of lines, words and characters in input
int 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);
}
Weitere Informationen:
Buch: The C Programming Language - von Brian W. Kernighan
Kapitel: Ein Tutorial Einleitung (Seite 20)
Verwenden von Xcode Version 8.3.3 (8E3004b)
Drücken Sie Strg + Z (oder D in Unix). oder Execute wie './your_program
BLUEPIXY
Sie sollten wirklich ein neueres Buch bekommen. Einige der Syntax von C hat sich seit 1988 geändert. – stark
@stark Ich würde mich freuen, wenn Sie ein anderes Buch empfehlen könnten, das moderne Syntax behandelt –