程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> strlen-C語言 求注釋這是什麼意思啊?

strlen-C語言 求注釋這是什麼意思啊?

編輯:編程解疑
C語言 求注釋這是什麼意思啊?

編寫函數int fun(char *s1,char *s2),在字符串s1中統計字符串s2出現的次數並返回。若s2在s1中未出現,則返回0。例如:
若輸入的字符串s1為:abaaAabcaabbabca,字符串s2為:ab ,則程序輸出:n=4
若輸入的字符串s1為:abaaAabcaabbabca,字符串s2為:abd,則程序輸出:No find

答案: int fun(char *s1, char *s2)
{
int i, j, len1 = strlen (s1), len2 = strlen (s2), n=0;

for (i=0; i<=len1-len2; i++)
{
    for (j=0; j<len2; j++)
    {
        if (*(s1+i+j) != *(s2+j))
            break;
    }
    if (j == len2)
    {
        i += j-1;
        n++;
    }
}

return n;

}
求每行的注釋!!!!!!!!!!1

最佳回答:


如果需要實現此功能,你需要知道什麼?
參數是否合理?當str2大於str1時就明顯不合理,這在最外層循環中體現
每次在str1中匹配時,默認是在位置0開始的,這個位置由i體現
如何判斷是否找到?由if(j==len2)體現
如何增加找到的次數?n++體現
當找到後(沒找到則移動一個位置),位置應該被移動str2的長度的距離,例如在12312中找12,第一次找到了,那麼第二次應該在2312中找12嗎?顯然不需要,應該在312中找。由i += j-1體現,不過在這裡我覺得使用 i += len2-1更合適。

gegeda123
s121005
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved