重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
#includestdio.h
創新互聯建站專業為企業提供鎮巴網站建設、鎮巴做網站、鎮巴網站設計、鎮巴網站制作等企業網站建設、網頁設計與制作、鎮巴企業網站模板建站服務,10年鎮巴做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。
void?del(char?*?s,int?n,int?len)
{char?*p;
s+=n;
for(p=s+len;*s++=*p++;);
}
int?main()
{char?s[]="apple";
if(s==NULL||n0)
{printf("error");
return?0;
}
del(s,2,2);
puts(s);
return?0;
}
一、問題描述:從鍵盤輸入一個字符串給str和一個字符給c,刪除str中的所有字符c并輸出刪除后的字符串str。
1、輸入:第一行是一個字符串; 第二行是一個字符。
2、輸出:刪除指定字符后的字符串。
二、設計思路:
1、 同插入問題,定義兩個字符數組a,b。以及標志刪除位置的int型pos。
2、用gets函數輸入數組a的值,并利用for循環將數組a copy到 數組b。
3、利用for循環,令pos位的數組b元素賦值到a。
三、實現代碼如下:
四、編譯并執行,運行結果如下:
擴展資料
gets()函數用來從標準輸入設備(鍵盤)讀取字符串直到換行符結束,但換行符會被丟棄,然后在末尾添加'\0'字符。其調用格式為:gets(s),其中s為字符串變量(字符串數組名或字符串指針)。
gets()函數讀取到\n(我們輸入的回車)于是停止讀取,但是它不會把\n包含到字符串里面去。然而,和它配合使用的puts函數,卻在輸出字符串的時候自動換行。
gets(s) 函數中的變量s為一字符串指針。如果為單個字符指針,編譯連接不會有錯誤,但運行后內存溢出錯誤。寬字符版本,當使用unicode寬字符文本時,使用這個函數 _getws();在C11標準中被刪除,可用C標準庫中的fgets代替.
參考資料:百度百科 gets
利用C語言刪除字符串中所有指定的字符方法如下:
1.基本方法是,編寫函數fun:deletechar()。這個函數需要接受兩個參數的傳入,一個為該字符串str,另一個為想刪除的字符c。通過對整個字符串的逐個遍歷,凡是檢測到字符為c,則刪除此字符。具體實現代碼如下:
2.在主函數,只需要接受用戶輸入的字符串,然后調用deletechar()函數,最后輸出結果即可。主函數代碼實現部分如下:
擴展資料:
1.remove()是C語言中的函數,一般作用是刪除數組、鏈表對象所有的元素。函數原型是
2.remove()函數用于刪除指定的文件,其原型如下:
參考資料:remove()函數-百度百科
#include stdio.h
#include string.h
void remove_char(char *str, char c) {
int i, j;
int len = strlen(str);
for (i = 0, j = 0; i len; i++) {
if (str[i] != c) {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main() {
char str[] = "Hello, world!";
char c = 'o';
remove_char(str, c);
printf("%s\n", str);
return 0;
}