C语言:编写一个函数,由实参传来一个字符串,统计此字符串中字母,数字,空格和其他字符的个数。

2025年03月12日 19:18
有4个网友回答
网友(1):

char *ch,就是定义一个字符型的指针,来接收指针,在你的程序里就是接收你输入的字符串的首地址。要想返回实参,根据你的目的,应该是各类字符的个数,可以用一个数组实现。

int* sum(char *ch,int sum[4]);用一个长度为4的一维数组来统计各类字符的个数;

同样int* 表示返回一个整形指针;
你应该这样调用sum()函数;p=sum(ch,sum);(当然你之前要,在main()里定义一个整形指针接受sum()的返回值),把sum[4]={0}初始化全部为0,),用p[0],p[1],p[2],p[3]表示
字母,数字,空格和其他字符的个数。

不明白的再问我

网友(2):

函数声明在main的外面,强烈建议直接把函数写在前面省的声明了
加上字符串的头文件string.h。循环直接用strlen获取长度计算,你这样子看起来太傻了。
要返回多个整数的话可以用结构体做返回值,或者用指针(引用)做参数。
char*ch是指针的意思,初学者不行就用全局变量。

网友(3):

返回不了的,函数只能返回一个值。要想返回多个值,必须使用数组或者结构体之类的。数组名做形参的时候会退化成指针,所以在子函数里把数组名当值真是用就好了。至于指针的作用,你还是看书吧,因为你完全没学过,所以我给你说的话你也可能看不懂。

网友(4):

函数中对数组的改变是绝对的,因此,子函数中对数组做的任何改动,主函数中都可以直接使用,不需要在返回什么东西了!*ch就是指向数组ch的指针。