當前位置:編程學習大全網 - 電腦編程 - c語言用函數編程實現計算字符串中子串出現的次數。為什麽子串是壹位數或者出現1的時候輸出不正確,求修改

c語言用函數編程實現計算字符串中子串出現的次數。為什麽子串是壹位數或者出現1的時候輸出不正確,求修改

if(str[i+j]==sub[j]) 當i+j>=m的時候指針溢出了。修改函數如下:

int FindString(char *str,char *sub)

{

int m,n,i,j,count=0,wow=0;

m=strlen(str);

n=strlen(sub);

/*加上長度檢查*/

if(m<n) return 0;

/*for(i=0;i<m;i++)*/

/*改為以下語句*/

for(i=0;i<m-n+1;i++)

{

for(j=0;j<n;j++)

{

if(str[i+j]==sub[j])

wow++;

}

if(wow==n)

count++;

wow=0;

}

return count;

}

  • 上一篇:程序員離職 發展
  • 下一篇:dmx192控臺裏面變的程序怎麽刪光呢
  • copyright 2024編程學習大全網