當前位置:首頁 » 編程語言 » 刪除空格c語言

刪除空格c語言

發布時間: 2023-03-02 03:48:16

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語言程序設計刪除空格

#include<stdlib.h>
void
main(){
char
str[100];
int
index=0,move=-1;
printf("請輸入字元串:");
gets(str);
while(str[index]!='\0'){
if(str[index]!='
'
&&
move!=-1){
str[move]
=
str[index];
move++;
}
else
if(str[index]=='
'
&&
move==-1){
move
=
index;
}
index++;
}
if(move!=-1){
str[move]='\0'
;
}
printf("刪除空格後的結果是:\n%s",str);
getch();
}

⑶ c語言怎麼刪除多出的空格

從0下標開始,一個字元一個字元地自己向自己拷貝,當拷入一個空格時,將後面的空格跳過去。設置2個初值為0的變數i和j,i用來控制遍歷原字元串數組,j用來記錄新拷入的字元位置,用下面的代碼就可實現!

//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
intmain(void){
charstr[1000];
inti,j;
gets(str);
for(j=i=0;str[i];i++){
if((str[j++]=str[i])==''){//自己向自己拷貝,直到遇見''
for(i++;str[i]=='';i++);//遇到''跳過後面的''
i--;
}
}
str[j]='';//補個結束符
printf("%s ",str);//打出來看看
return0;
}

⑷ C語言程序設計刪除空格

遍歷字元串,遇到空格,即進行刪除。

可以使用第二個字元數組來保存結果,對空格不復制;也可以不使用第二個字元數組,而是採用後續字元覆蓋空格字元的方式,達到刪除效果。

以效率更高的第二種方法為例,代碼如下:

voiddel_space(char*s)
{
char*p=s;
do{
if(*s!='')*p++=*s;
}while(*s++);
}

⑸ 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>
#include<string.h>
intstrdel(char*s);
intmain()
{
chara[100];
intn;
gets(a);
n=strdel(a);
puts(a);
printf("%d",n);
return0;
}
intstrdel(char*s)
{
inti,j=0,k=0,n;
char*p=s;
n=strlen(s);
for(i=0;i<n;i++)
{
if(*(p+i)=='')
{
j++;
continue;
}
else
{
*(s+k)=*(p+i);
k++;
}
}
*(s+k)='';
returnj;
}

⑺ C語言刪除字元串中的所有空格

把fun中的*str==*p;改成*str=*p;。

⑻ c語言刪除空格鍵

漲姿勢啦, %*c格式符之前見都沒見過,竟然表示跳過一個字元!

按你的代碼邏輯在for循環中,首先讀入一個字元,然後跳過一個字元,所以結果就是讀入的是輸入字元串的第奇數個字元:

對 aglh zhg zghh來說第奇數個字元分別是: a,l,空格,h,空格,g,h,剛好是輸出的幾個字元。

要刪除輸入字元中的空格不應該用%*c, 而應該讀入後判斷讀入的字元是否為空格,如果是空格則繼續,否則才將其賦值到數組內。

#include<stdio.h>

intmain()
{
chara[20],c;
inti=0;
while(i<20)
{
scanf("%c",&c);
if(c=='')
continue;
a[i++]=c;
printf("%c",c);
}
return0;
}
熱點內容
最快學編程 發布:2024-11-01 07:30:56 瀏覽:527
買福克斯買哪個配置好 發布:2024-11-01 07:01:07 瀏覽:36
pip更新python庫 發布:2024-11-01 06:42:57 瀏覽:666
憶捷加密軟體 發布:2024-11-01 06:34:05 瀏覽:353
androidlistview事件沖突 發布:2024-11-01 06:23:14 瀏覽:858
哈靈麻將在安卓上叫什麼名字 發布:2024-11-01 06:01:47 瀏覽:220
大學生解壓拓展哪裡靠譜 發布:2024-11-01 05:59:20 瀏覽:854
編譯函數求長方形面積和體積 發布:2024-11-01 05:52:16 瀏覽:745
ubuntunginx配置php 發布:2024-11-01 05:50:15 瀏覽:960
前端和java 發布:2024-11-01 05:47:50 瀏覽:434