int fun(char *s)
{int i,k=0;
for(i=0;s[i]!='\0';i++)
{if(s[i]>='0'&&s[i]<='9')k++;}
return k;
例如:
#include
#define MAX_LEN 25 /* 字符串字符个数 */
int Count(char s[]); /* 计算函数声明 */
main()
{
int i;
int count = 0;
char ch;
char str[MAX_LEN+1]; /* 字符数组 */
str[MAX_LEN] = '\0'; /* 字符串结束标识符zhi */
clrscr(); /* tuirbo c 2.0 清屏函数 */
printf("input a string : ");
for (i=0;i daoch = getchar(); if (ch=='\n') break; str[i] = ch; } str[i] = '\0'; /* 当前字符串结束标识符 */ count = Count(str); /* 调用计数函数 */ printf("count:%d",count); /* 打印结果 */ } int Count(char s[]) { int i; int c = 0; for (i=0;s[i]!='\0';i++) { if(s[i]>='0'&&s[i]<='9') c++; /* 判断并计数 */ } return c; } /* 晚安 See you tomorrow !*/ 扩展资料: C/C++ 语言标准库中没有fun函数。fun函数是自定义函数,是使用来举例或作语法演示的,需要在使用前自行定义声明。fun一词没什么特别含义,也可以换成别的名称,如"abc"或者"baidubaike"。它只表示引用之前出现的函数,以调用它执行一些需求,int fun(int x,int y)只是一个举例的函数名而已,以及其声明的参数类型。 参考资料来源:百度百科-fun函数
/*嗯,完全可以,希望对你有帮助!*/
#include
int main(void)
{
char *str = "1a2b3c4d5f";
int count = fun(str);
printf("数字字符出现了%d次!\n",count);
return 0;
}
int fun(char *s)
{
int n = 0;
while(*s != '\0')
{
if(*s >= '0' && *s <= '9')
++n;
++s;
}
return n;
}
不可以直接使用while(*s!='\0')……
因为s是个地址常量,指向该字符串的第一个首字符,它不可以进行运算。
而指针变量可以进行运算例如自加
int cnt;
for(cnt=0;*s;s++)
{
if(*s>='0'&&*s<='9')
{
cnt++;
}
}
return cnt;
应该可以
count要初始化
*s!='\0'