#include<stdio.h>
int count=0;
char str[1000];
int dg(char* str){
if(*str=='\n') return count;
else{
if(*str!=' ') count++;
}
dg(str+1);
}
int main(void){
gets(str);
printf("%d",dg(str));
}
gets函数不会读入字符串末位的'\n
,将原函数改为如下形式
#include <stdio.h>
int count = 0;
char str[1000];
int dg(char *str)
{
if (*str == '\0')
return count;
else
{
if (*str != ' ')
count++;
}
dg(str + 1);
}
int main(void)
{
gets(str);
printf("%d", dg(str));
}
if(*str!=' ')这个if没什么用,
if(*str=='\n') 把\n改成\0
代码修改如下:
#include<stdio.h>
int count=0;
char str[1000];
int dg(char* str)
{
if(*str=='\0')
return count;
else
{
count++;
dg(str+1);
}
}
int main(void)
{
gets(str);
printf("%d",dg(str));
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!