私はcプログラミング言語の初心者であり、charsの操作に関連する大学のチュートリアル課題があります(この課題では採点されません)。単語を数える必要があります。回答をまとめてオンラインWebに送信する必要があります。私のコードが私には見えないテストケースに対して実行される環境。これが私の割り当てです。
次のようにフォーマットされた文字列を返す関数'wc'を記述します: "NUMLINES NUMWORDSNUMCHARSNUMBYTES"。空白文字は、空白、タブ(\ t)、および新しい行(\ n)です。文字とは、空白以外のものです。指定された文字列はnull文字(\ 0)で終了します。
これが私のコードです:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* wc(char* data) {
char* result ;
int numLine ;
int numWords ;
int numChars ;
int i;
int numBytes =strlen(data);
char* empty=NULL;
while(strstr(data,empty)>0){
numWords=1;
for (i = 0; i < sizeof(data); i++) {
if(data[i]=='\n'){
numLine++;
}
if(data[i]==' ' ){
numWords++;
}
if(data[i]!=' '){
numChars++;
}
}
}
sprintf(result, "%d %d %d %d", numLine, numWords, numChars, numBytes);
return result;
}
このコードは私に正しい出力結果を与えるでしょう、しかし私はここで何かが欠けています、少なくともテストは私にそれを教えてくれます。