#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);
}
私はK & R本を手に入れましたが、コンパイルされないコードがいくつかあります。C:下記のコードはコンパイルできませんか?
それは私与え - 19 C:\ Users \ユーザーノム割り当てでデスクトップ\ Untitled1.c無効な左辺値\
編集:今、それは、おかげでみんなを動作しますが、今では何もしません! printfステートメントは機能しません。それはdosコンソールを開き、私は何でも入力して、新しい行を返します。私はDev-C++を使用しています。4.9.9.2
編集:私はprintfステートメントをwhileループの中に入れました。 if (c == ' ' || c == '\n' || c = '\t')
に感謝
"Cでなければなりません= '\ t' " – kenny
また、' main'は戻り値の型がintでなければなりません。 – Falmarri
それを信じるかどうか、コンパイラが与えるエラーメッセージは理由があります。この場合、割り当てがないと思われる行の割り当てが記述されています。だから、おそらくあなたはそれが少し間違っている場合、割り当てになるかもしれないものがあるかどうかを見るためにその行を見てください。 –