宏的定义以及指针和函数的使用
题目是让我们设计一个程序,统计一句英文句子中的单词个数。英文单词用空格分开。题目的难处在于,如果中间分隔的空格很多,如何破解。
我的想法是这样的:用宏将所有的英文字母定义为1,然后空格定义为0,然后进行两个字符间的加减,如果相减为1,表示英文字母接空格;相减为-1,表示空格接英文字母;相减为0,表示两个英文字母在一起或者空格在一起。定义完后,我统计相减结果为1的次数就可以知道有几个单词了。
我写的程序是这样的:(目前还没有宏定义,因为不会;然后就是报错有很多,我不懂为啥报错的)
程序代码:#include <stdio.h>
STA(char a[]);
#define
int main()
char a=[100],*p;
printf("请输入一句英文句子:");
for(i=0;i<=100;)
{scanf("%c",&p);
i++;
p+=i;
}
b=STA(a[]);
printf("%d",b);
return 0;
}
STA(char a[])
for(i=0;i<=100;i++)
{m=a[i]-a[i+1];
if(m==1)
x+=1;
}
return (x);









