作者:美玲珍任欢治 | 来源:互联网 | 2023-09-17 19:53
Q:输入一串字符串,输出其中有多少个单词。
Eg:Good Wishes
A:
#include #include #define SIZE 20int main()
{ char str[SIZE]={'\0'}; int count=0;
printf("plz input the string\n");
gets(str);
puts(str); int length = strlen(str); for (int i=0;i
{
if(str[i]!=' ')
{ count++; while(str[i]!=' '&&str[i]!='\0')
{
i++;
}
}
}
printf("%d\n",count); return 0;
}
‘\0’和‘0’的区别:
在c语言中,它们都是字符,都用对应的ASCII码来存储。例如第一个ASCII码,0,对应字符为(Null),就是 ‘\0’,即空字符。我们在c语言中判断一个字符串是否结束的标志就是看是否遇到‘\0’,如果遇到‘\0’,则表示字符串结束。字符‘0’和数字0的区别:前者是字符常量,后者是整形常量,但是字符常量可以像整数一样在程序中参与相关运算。
扩展资料
字符串所有字符,如果当前字符不为空,单词数+1,再嵌套一个while循环,判断当前单词是否结束。
#include
#include
int count_words(char* s)
{
int len=strlen(s);
int count,i;
for(i=0;i
{
if(*(s+i)!=' '){ // 如果当前代码不为空
count++; //单词数+1
while(*(s+i)!=' '&& i
i++;
}
}
return count;
}
int main()
{
char* a="i love you";
printf("%d",count_words(a));
}