-
if(*p=='a')
for(;*p+1)!='\0';p++)p=*(p+1);
p='\0';
這是乙個錯誤,因為在此操作中,您將 p 指標指向空,並且在返回上部函式時沒有將其返回到“a”的原始位置,可以改為更改。
if(*p=='a')
char *w=p;
for(;*p+1)!='\0';p++)p=*(p+1);
p='\0';
p=w;也就是說,每次用w記錄原來的'a'的位置,以後做指標運算的時候記得要注意。
指標移動是乙個問題。
-
用C語言編寫刪除字串中字元的程式的具體步驟如下:
1. 編寫標頭函式,包括“include.”。“和”包括“
2. 定義兩個容量相同的字串來儲存變數 char a; char b。和整數變數 int c; int i=0,j=0;其中 a[100] 是字串,b 是刪除相應字元的字串,整數 c 是要刪除的位數。 J 和 i 是以下迴圈中使用的變數。
3. 寫 printf(“請輸入你的字串”); scanf(“%s”,a);printf(“請輸入要刪除的字元數”); scanf(“%d”,&c)。
這些行主要用於顯示介面,以及要刪除的字串和要刪除的字元數。
4. 繼續寫for(i=0;i 前幾行的邏輯陳述是:只要在 i+1 不等於 c 時將 a[i] 中的字元賦給 b[i],那麼當 i+1=c 時,就不賦值給 b[i] 即可實現刪除函式。
5.程式完成後,您可以刪除字元。
-
1.問題描述:在鍵盤上輸入乙個字串到str,乙個字元到c,刪除str中的所有字元c,輸出已刪除的字串str。
1.輸入:第一行是字串; 第二行是字元。
2.輸出:刪除指定字元後的字串。
二、設計思路:
1. 為同乙個插入問題定義兩個字元陣列 a 和 b。 以及標記刪除位置的 int 型別 pos。
2. 使用 gets 函式輸入陣列 a 的值,並使用 for 迴圈將陣列 a 複製到陣列 b。
3. 使用 for 迴圈將 pos 位的陣列 b 元素分配給 a。
3、實現如下:
4.編譯執行,結果如下:
-
第一步是找到字串中*的個數,並根據需要找到字串的長度。 申請一塊空格,其大小為字串總長度減去字串數減去*,第三步,for(i=0; i
-
void move_t(char str,int i)
void delete_string(char str,char ch)
move_f(str,i);然後,用於查詢的字元在字元}}之後向前移動乙個
程式是在手機上打的,不一定對,你按照這個想法寫(我強烈建議你自己寫這個程式! ):
1:迭代找到你需要的字元;
2:如果找到乙個字元,則呼叫move t()函式將字元後面的字元移動到前乙個字元,以達到刪除字元的效果(原因是字元陣列沒有函式或函式可以刪除字元,只能通過移動來刪除! 知道了這一點,編寫自己的程式就很容易了! )
-
這可以通過輸出 b 來實現。
B 是 C 語言的轉義字元之一,意思是退格 (BS),ASCII 程式碼值為 8。 當 B 輸出時,當游標後退乙個缺口時,它就會出現。
需要注意的是,游標後退並不能刪除字元,因此要達到真正的刪除效果,需要再輸出乙個字元。 如果系統在倒帶後沒有輸出其他字元,則需要手動輸出乙個空白字元才能達到刪除效果。
例如,printf("\b ");
即在b之後立即輸出乙個空格,原文的最後乙個字元將被空格覆蓋,以達到刪除的效果。
還有一點需要注意的是,b只能退格,不能推送,所以如果最後乙個字元是換行符,那麼就不能達到刪除最後乙個字元的效果。
-
我認為刪除的實現如下所示:printf("\b \b");
即 b + 空格 + b
-
沒有特定的字元,但你可以用**做你想做的事。
**如下:包括
int main()
char s[100],*p ,*q ;
puts("輸入少於 100 個字元:");
gets(s);
char del_x;
printf("輸入要刪除的字元:");
scanf("%c",&del_x);
for(p=s,q=s;*p!='\0';p++)
if(*p!=del_x)*q++=*p;
q=*p;puts(s);
-
這很簡單,就是去掉指定位置的字元,也就是以後再覆蓋這些字元,比如去掉指定字元在字串中的第乙個位置,void
strdel(
char*str,charch)
if(*p)}
希望它能解決你的問題。
-
從字元陣列中刪除指定字元的方法:
輸入以回車符結尾的字串。
輸入指定的字元。
定義遍歷字串的下標變數和新的字串下標變數。
遍歷字串,如果當前字元與指定字元不同,則將當前字元寫入新的下標位置,並將新下標寫入 +1
如果相同,則不會處理)。
遍歷下標 +1 以檢測下乙個。
當遇到字串終止符時,迴圈結束。
迴圈結束時,新的下標將定位字串結束。
輸出乙個新字串。
取決於它是在 scanf 還是 printf 中使用。
在 scanf 中,新增 * 的部分將被忽略,並且不會被引數檢索。 >>>More