刪除乙個字串中的一部分

2021-09-26 10:36:05 字數 1237 閱讀 9334

/*

編寫乙個函式,刪除乙個字串中的一部分,函式原型如下:

int del_substr(char *str,char const *substr);

首先判斷substr是否出現在str中,如果並未出現則返回0;如果出現,函式應該把str中位於該子串後面的所有字元複製到該子串的位置,

從而刪除這個子串,然後函式返回1,如果substr多次出現在str中,函式只刪除第一次出現的子串,函式的第二個引數絕不會被修改

應用點指標和陣列

運用指標自加可以指向陣列的元素來實現對陣列的操作

指標在陣列內部操作,指向發生變化,所以如果還需要再次從頭迴圈的話,要設定乙個原點.

在寫這個函式的時候,if的判斷條件中'='和'=='兩個運算子,要應用好,否則會出現與目的不符的結果

**

/*

編寫乙個函式,刪除乙個字串中的一部分,函式原型如下:

int del_substr(char *str,char const *substr);

首先判斷substr是否出現在str中,如果並未出現則返回0;如果出現,函式應該把str中位於該子串後面的所有字元複製到該子串的位置,

從而刪除這個子串,然後函式返回1,如果substr多次出現在str中,函式只刪除第一次出現的子串,函式的第二個引數絕不會被修改*/

#define crt_secure_no_warnings

#include int del_substr(char *str, char const *substr)

else //如果不相同,將標記變數flag置零,並將substr指標還原,跳出迴圈

}if (flag == 1) //若標記flag值為1,則說明已經找到字串,將str字串後面的字元從標記的位置開始複製

*p = '\0'; //字串結尾加'\0'

break; //這裡應該結束函式,但是下面為了列印字串,驗證函式是否正確,用break跳出迴圈

}} else

str++;

} //回字串的還原點

str = end;

substr = first;

//輸出字串,驗證

printf("str = %s\nsubstr = %s\n", str, substr);

return flag; //返回flag的值,為0,則沒有刪除,為1,則刪除字元

}int main(void)

刪除乙個字串的一部分 02

01 請編寫函式。刪除字串的一部分。函式原型如下 int del substr char str,const char substr 函式首先判斷substr是否出現在str中,如果並未出現,函式就返回0 如果出現,函式應該把str中該字串後面的所有字串賦值到該字串位置,從而刪除這個字串,然後函式返...

編寫乙個函式,刪除乙個字串的一部分

函式的原型如下 int substr char str,const char substr 函式應該首先判斷substr是否出現在str中,如果它並未出現,函式返回值為0 如果出現,函式返回值為1 str中儲存刪除後的字串。實驗 如下 define crt secure no warnings 1 ...

6 2 請編寫乙個函式,刪除乙個字串的一部分。

要求 a.不能使用任何用於操縱字串的庫函式 b.不能使用任何下表引用 例如 str abcdefg 如果substr cde 那麼刪除子串後為abfg 返回1 如果substr dexyz 則不刪除任何字元,返回0 函式原型 int del substr char str,char const su...