重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
主函数中for (i=0;i!='\0';i++)要改成for (i=0;i100;i++),scanf ("%c",str[i]);要改成scanf (" %c",str[i]);。
创新互联专注于格尔木网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供格尔木营销型网站建设,格尔木网站制作、格尔木网页设计、格尔木网站官网定制、小程序制作服务,打造格尔木网络公司原创品牌,更为您提供格尔木网站排名全网营销落地服务。
del_samechar函数中第二个for就不能用i变量控制了,不然第二个for循环完后i就越界了,第一个for就不再执行了还有,控制应该是str[i]!='\0'而不应该是i!='\0'。
其实把函数 del_samechar写成以下就可以了——
void del_samechar(char str[]){
int i,n;
for(n=i=0;str[j]=str[i];i++)
if(str[j]!=str[j-1] || j==0)
j++;
}
//计算字符串中相同字符的个数
#include "stdio.h"
#include "string.h"
int count_str_same(char * p,char ch);
int main()
{
int same_ch;
char a[100];
char c;
printf("请输入字符串:");
gets(a);
printf("请输入欲统计的重复字符:");
c = getchar();
same_ch = count_str_same(a,c);
printf("该字符串中字符%c重复%d次\n",c,same_ch);
return 0;
}
int count_str_same(char * p,char ch)
{
char * q = p;
int m = 0;
while(* q != '\0')
{
if(ch == * q)
m++;
q++;
}
return m;
}
还可以将函数写在头文件中,并复制到include文件夹中,然后通过头文件加载。
void same() 这个函数吗
你说的这个应该是自己定义实现的函数, 并不是C语言的库函数哦.
具体的使用方法和位置,要看函数形参列表和实现代码了.