主函數(shù)中for (i=0;i!='\0';i++)要改成for (i=0;i100;i++),scanf ("%c",str[i]);要改成scanf (" %c",str[i]);。
創(chuàng)新互聯(lián)專注于格爾木網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供格爾木營銷型網(wǎng)站建設(shè),格爾木網(wǎng)站制作、格爾木網(wǎng)頁設(shè)計(jì)、格爾木網(wǎng)站官網(wǎng)定制、小程序制作服務(wù),打造格爾木網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供格爾木網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
del_samechar函數(shù)中第二個for就不能用i變量控制了,不然第二個for循環(huán)完后i就越界了,第一個for就不再執(zhí)行了還有,控制應(yīng)該是str[i]!='\0'而不應(yīng)該是i!='\0'。
其實(shí)把函數(shù)?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++;
}
//計(jì)算字符串中相同字符的個數(shù)
#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("請輸入欲統(tǒng)計(jì)的重復(fù)字符:");
c?=?getchar();
same_ch?=?count_str_same(a,c);
printf("該字符串中字符%c重復(fù)%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;
}
還可以將函數(shù)寫在頭文件中,并復(fù)制到include文件夾中,然后通過頭文件加載。
void same() 這個函數(shù)嗎
你說的這個應(yīng)該是自己定義實(shí)現(xiàn)的函數(shù), 并不是C語言的庫函數(shù)哦.
具體的使用方法和位置,要看函數(shù)形參列表和實(shí)現(xiàn)代碼了.