c語言字元串刪除空格
Ⅰ c語言去掉字元串的空格函數trim
c語言去掉字元串的空格函數 void trim(char *s){} 如下:
#include <stdio.h>
void trim(char *s){
int i,L;
L=strlen(s);
for (i=L-1;i>=0;i--) if (s[i]==' ')strcpy(s+i,s+i+1);
}
int main(){
char s[100];
printf("input 1 line string\n");
gets(s);
trim(s);
printf("%s\n",s);
return 0;
}
例如:
input 1 line string
abc 123 XYZ |
輸出:abc123XYZ|
Ⅱ C語言 輸入一個字元串,刪除中間多餘的空格
可以參考下面的代碼:
#include "stdio.h"
void main()
{
char s[]="I am a teacher!";
int i,j;
for(i=0;s[i];i++)
{
if(s[i]==32&&s[i+1]==32)/*如果字元串中第i和i+1個是空格,就運行if中的語句*/
for(j=i;s[j];j++) {s[j]=s[j+1];i=0;}/*此句是把2個空格換成一個,然後把空格之後的內容前移*/
}
printf("%s ",s);
}
(2)c語言字元串刪除空格擴展閱讀:
1、for循環小括弧里第一個「;」號前為一個為不參與循環的單次表達式,其可作為某一變數的初始化賦值語句, 用來給循環控制變數賦初值; 也可用來計算其它與for循環無關但先於循環部分處理的一個表達式。
「;」號之間的條件表達式是一個關系表達式,其為循環的正式開端,當條件表達式成立時執行中間循環體。
2、if語句中的「表達式」可以是關系表達式、邏輯表達式,甚至是數值表達式。其中最直觀、最容易理解的是關系表達式。所謂關系表達式就是兩個數值進行比較的式子。
Ⅲ C語言中去掉空格問題
/*去除字元串右邊空格*/
void
vs_strrtrim(char
*pstr)
{
char
*ptmp
=
pstr+strlen(pstr)-1;
while
(*ptmp
==
'
')
{
*ptmp
=
'\0';
ptmp--;
}
}
/*去除字元串左邊空格*/
void
vs_strltrim(char
*pstr)
{
char
*ptmp
=
pstr;
while
(*ptmp
==
'
')
{
ptmp++;
}
while(*ptmp
!=
'\0')
{
*pstr
=
*ptmp;
pstr++;
ptmp++;
}
*pstr
=
'\0';
}
Ⅳ c語言 輸入一個字元串,刪除該字元串中的所有空格並輸出處理後的字元串
int main()
{
char s[1024],c[1024];
int len,n=0,i;
char p,q;
p=s;q=c;
printf(「請輸入字元串的長度:」);
scanf("%d",&len);
printf(「請輸入一串字元串:」);
for(i=0;i<len+1;i++)
{
scanf("%c",p+i);
}
for(i=0;i<len+1;i++)
{
if((p+i)>=48&&(p+i)<=57||(p+i)>=97&&(p+i)<=122)
{
(q+n)=(p+i);
n++;
}
}
for(i=0;i<n+1;i++)
{
printf("%c",*(q+i));
}
}
c語言編程技巧
1、函數參數
在設計函數時,通常將目的參數放在前面,源參數放在後面。若可能,通過IN、OUT這樣的宏定義來標注參數輸入輸出。
如果參數是指針,且僅作輸入用,則應在類型前加const,以防止該指針在函數體內被意外修改。
2、函數中內存處理
(1)在函數中分配的內存,在函數退出之前要釋放
(2)return語句不可返回指向「棧內存」的指針或者引用,因為該內存在函數體結束時被自動銷毀。
Ⅳ C語言怎樣刪除字元串中的空白字元
#include <stdio.h>
int main()
{
char *p="I am Chinese";
char c;
int i = 0;
while((c = p[i++])!='