このコードを使用していますが、正しく動作しません。
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
int main() {
char line[120], *word;
int o, row, col, letter, i;
o = scanf("%s", line);
row = 0;
while(o != -1) {
col = 0;
while(isprint(line[col])) {
word = (char *) malloc(sizeof(char)*20);
for(i=0; i<20; i++) *(word + i) = 0;
letter = 0;
while(isalpha(line[col])) {
*(word + letter) = line[col];
col++;
letter++;
}
col++;
printf("%s\n", word);
free(word);
}
row++;
o = scanf("%s", line);
}
return 0;
}
たとえば、次のように入力します。
can you take a string?
そして、私は出力として受け取ります:
can
you
take
a
ke
string
間違いを見つけることはできませんが、出力が私が望むものから遠くないという事実は、間違いが小さいことを意味します. 私を助けてください...:)