我是 c 编程语言的新手,我有一个与使用字符相关的大学教程作业(我不会为这个作业评分)你必须计算单词,我必须编译并在在线网络中提交我的答案我的代码将针对我不可见的测试用例运行的环境。这是我的任务:
编写函数 'wc',它返回一个包含如下格式的字符串: "NUMLINES NUMWORDS NUMCHARS NUMBYTES" 。空白字符是空格、制表符 (\t) 和换行符 (\n)。字符是任何不是空格的东西。给定的字符串以空字符 (\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;
}
这段代码会给我正确的输出结果,但我在这里遗漏了一些东西,至少测试告诉我。