统计单词数

来源:百度知道 编辑:UC知道 时间:2024/05/27 00:00:49
统计单词数,请问哪错了?

#include<stdio.h>
#include<string.h>
void main()
{
int i,k,word=0;
char *p;
char str[]="neoxmu 2007 computer sience";
p=str;
k=strlen(str);
for(i=1;i<=k;i++)
{
if(*p=' ')
{
word++;
}
p++;
}
printf("%d\n",word);
}
统计单词数

楼上说的很对,"==" 很容易漏写成"=", 而且编译器不会报错,给排错带来麻烦,为了防止这种情况发生,有经验的程序员在用"=="比较运算符的时候,常常把常量放前面,变量放后面,也就是把if(*p = ' ') 写成 if(' ' == *p),这样若把"==" 漏写成"=",编译的时候就会报错,从而轻松发现错误。
建议精读《Write Clean Code》

for(i=1;i<=k;i++)
{
if(*p=' ') //这里少了个=,应该是*p==' '
{
word++;

你的意思是要求单词数还是字母数?