用C语言,统计并输出其中数字字符、英文字母和其它字符的个数(注意要求)
要求定义并调用函数count(s,digit,letter,other)分类统计字符串s中数字字符、英文字母和其它字符的个数,函数形参s的类型是字符指针,形参digit,...
要求定义并调用函数count(s, digit, letter, other)分类统计字符串s中数字字符、英文字母和其它字符的个数,函数形参s的类型是字符指针,形参digit, letter, other的类型是整型指针,函数类型是void。
题目中的digit, letter, other这三个指针有什么用?
谁能提供一个代码参考? 展开
题目中的digit, letter, other这三个指针有什么用?
谁能提供一个代码参考? 展开
1个回答
展开全部
digit, letter, other这三个指针指向x,y,z的地址,从而在无返回值的情况下改变x,y,z的值
#include <stdio.h>
void count(char *s, int *digit, int *letter, int *other)
{ int i;
for(i=0;s[i]!='\0';i++)
{ if(s[i]>='a'&&s[i]<='z' || s[i]>='A'&&s[i]<='Z') (*letter)++;
else if(s[i]>'0'&&s[i]<'9') (*digit)++;
else (*other)++; }
}
void main()
{
int x=0,y=0,z=0;
char ch[80];
printf("Enter a string:");
gets(ch);
count(ch,&x,&y,&z);
printf("数字有:%d个,字母有:%d个,其它符号有:%d个\n",x,y,z); }
#include <stdio.h>
void count(char *s, int *digit, int *letter, int *other)
{ int i;
for(i=0;s[i]!='\0';i++)
{ if(s[i]>='a'&&s[i]<='z' || s[i]>='A'&&s[i]<='Z') (*letter)++;
else if(s[i]>'0'&&s[i]<'9') (*digit)++;
else (*other)++; }
}
void main()
{
int x=0,y=0,z=0;
char ch[80];
printf("Enter a string:");
gets(ch);
count(ch,&x,&y,&z);
printf("数字有:%d个,字母有:%d个,其它符号有:%d个\n",x,y,z); }
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询