⑴ c語言如何實現刪除字元串中的字元
C語言刪除字元串中指定字元可以參考下面的代碼:
#include<stdio.h>
int main
{
char * fun(char * s);
char arg[] = "hello.cgi?name1=value1&name2=value2";
printf("This value :%s ",fun(arg));
getchar();
return 0;
}
char * fun(char * s)
{
char *s1 = s; //s1指向字元串首地址
while ((*s != '?') && (*s != 0)) //字元不為結束符或者不為?,指向下一個字元
s++;
*s = 0; //將這個字元置為結束符
return s1;
};
(1)如何刪除字元c語言擴展閱讀:
C語言isupper()函數:判斷一個字元是否是大寫字母
C語言isspace()函數:判斷一個字元是否是空白符
C語言isprint()函數:判斷一個字元是否是可列印字元
C語言islower()函數:判斷一個字元是否是小寫字母
C語言ldexp()函數:返回x乘以2的exponent次方(次冪)的值
C語言ldiv()函數:求兩個數的商和余數(針對long類型)
C語言ceil()函數:求不小於x的最小整數(向上取整)
C語言floor()函數:求不大於x的最大整數(向下取整)
double atof(char *nptr) 將字元串nptr轉換成浮點數並返回這個浮點數
double atoi(char *nptr) 將字元串nptr轉換成整數並返回這個整數
⑵ 怎麼在c語言字元數組中刪除一個字元
#include "stdio.h"x0dx0amain()x0dx0a{x0dx0a int i,a[10];x0dx0a char n;x0dx0a for(i=0;i<10;i++)x0dx0a scanf("%d",a[i]);x0dx0a printf("請輸入一個字元");x0dx0a scanf("%c",&c);x0dx0a for(i=0;i<10;i++)x0dx0a {x0dx0a if(a[i]==c)x0dx0a {x0dx0a for(j=i+1;j<10;j++)x0dx0a a[j-i-1]=a[j];x0dx0a a[j-1]='\0'x0dx0a }x0dx0a break; x0dx0a }x0dx0a for(i=0;i<9;i++)x0dx0a printf("%d",a[i]);x0dx0a}x0dx0ax0dx0a來不及去運行了,你運行看看 應該沒問題!
⑶ c語言如何刪除輸出的最後的一個字元
可以通過輸出\b來實現。 \b 是C語言的轉義字元之一,其含義為退格(BS),ascii碼值為8。 當輸出\b時,其顯示效果為游標退後一格。 需要注意的是,只是游標退後,並不會刪除字元,所以要達到真正的刪除效果,還需要再輸出一個字元。如果在後退後系統不再輸出其它字元,那麼需要手動輸出一個空白字元來達到刪除的作用。 比如 printf("\b "); 即在\b後馬上輸出一個空格,原本的最後一個字元就會被空格覆蓋,實現刪除的效果。 另外一個需要注意的點為,\b只能夠退格,不能推行,所以如果最後一個字元為換行符,那麼是無法實現刪除最後一個字元的效果的。
⑷ 怎麼在c語言字元數組中刪除一個字元
字元數組中刪除指定字元的方法:
輸入一個字元串,以回車結束
輸入指定字元
定義一個遍歷字元串的下標變數和一個新的字元串下標變數
循環遍歷字元串,
如果當前字元與指定字元不同,則將當前字元寫入新下標位置,新下標+1
(相同則不處理)
遍歷下標+1檢測下一個
遇到字元串結束符,結束循環
循環結束後,新下標位置字元串結束符
輸出新的字元串
參考代碼:
⑸ C語言-刪除字元串中指定的字元
一、問題描述:從鍵盤輸入一個字元串給str和一個字元給c,刪除str中的所有字元c並輸出刪除後的字元串str。
1、輸入:第一行是一個字元串; 第二行是一個字元。
2、輸出:刪除指定字元後的字元串。
二、設計思路:
1、 同插入問題,定義兩個字元數組a,b。以及標志刪除位置的int型pos。
2、用gets函數輸入數組a的值,並利用for循環將數組a 到 數組b。
3、利用for循環,令pos位的數組b元素賦值到a。
三、實現代碼如下:
具體執行結果同上。