當前位置:首頁 » 編程語言 » c語言怎樣除去字元串中的空格
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言怎樣除去字元串中的空格

發布時間: 2023-05-30 05:02:18

Ⅰ 請用c語言編寫一個函數,用來刪除字元串中的所有空格,加上注釋喲

很簡單的程序,遍歷輸入字元串。
1、如果字元不是空格,就賦值到輸出字元串中。
2、如果是空格,就跳過這個字元。
例如:
#include <stdio.h>
#include <string.h>

int main()
{
const char * input = "Hello World! Welcome To Beijing!";
char output[1024];
int i, j, input_len;

input_len = strlen(input);
j = 0;
for(i = 0; i < input_len; i++)
{
if (input[i] != ' ')
{
output[j] = input[i];
j++;
}
}
output[j] = '\0';

printf("Input string is: %s\n", input);
printf("After spaces were removed: %s\n", output);
return 0;
}

具體的輸出效果為:
Input string is: Hello World! Welcome To Beijing!
After spaces were removed: HelloWorld!WelcomeToBeijing!

Ⅱ C語言 輸入一個字元串 利用指針 刪除它的空格字元~

1、添加一個字元串函數,因為程序裡面涉及到了輸出和輸入字元串以及字元。殲談蠢#include<string.h>。

2、其次就是要定義兩個相同容量的字元串儲存的變數chara[100];charb[100];。以及整數變數intc;inti=0,j=0;其中a[100]是存字元串的,b【100】是存你刪除對應字元的字元串的,整數C是你想刪除第幾位。j,i是後面for循壞中要使用到的變數。

3、printf("請輸入你的字元侍茄串");scanf("%s",a);printf("請輸入你想要刪除第幾位字元");scanf("%d",&c)。

4、for(i=0;i<氏陪strlen(a);i++){if(i+1!=c){b[j]=a[i];j++;}}printf("%s",b);}。

5、只要當i+1不等於c時把a【i】裡面的字元賦給b【i】,那麼這樣當i+1=c時不把它賦給b【i】從而實現刪除功能。

6、最後是完整的程序流程圖。

Ⅲ C語言怎樣刪除字元串中的空白字元

#include <stdio.h>

int main()

{

char *p="I am Chinese";

char c;

int i = 0;

while((c = p[i++])!=''){

if(c!=' ')

putchar(c);

}

}

(3)c語言怎樣除去字元串中的空格擴展閱讀:

字元串的函數應用

1. 連接運算 concat(s1,s2,s3…sn) 相當於s1+s2+s3+…+sn。

例:concat('11','aa')='11aa';

2. 求子串。 Copy(s,I,I) 從字元串s中截取第I個字元開始後的長度為l的子串。

例:(『abdag',2,3)='bda'

3. 刪除子串。過程 Delete(s,I,l) 從字元串s中刪除第I個字元開始後的長度為l的子串。

例:s:='abcde';delete(s,2,3);結果s:='ae'

4. 插入子串。 過程Insert(s1,s2,I) 把s1插入到s2的第I個位置。

例:s:=abc;insert('12',s,2);結果s:='a12bc'

5. 求字元串長度 length(s) 例:length('12abc')=5。

在ASP中 求字元串長度用 len(s)例: len("abc12")=5

6. 搜索子串的位置 pos(s1,s2) 如果s1是s2的子串 ,則返回s1的第一個字元在s2中的位置,若不是子串,則返回0。

例:pos(『ab','12abcd')=3

網路-字元串

Ⅳ c語言中,怎麼忽略輸入字元串中的空格符

#includex0dx0avoid main()x0dx0a{x0dx0achar a,b,c;x0dx0ascanf("%c%*c%c%*c%c%*c",&a,&b,&c);x0dx0aprintf("%c%c%c\n",a,b,c);x0dx0a} x0dx0a%*c是跳過下模掘一個字返舉符漏碼碧 避免回車之類被吸收

Ⅳ C語言完善程序,刪除字元串中的所有空格

*p='\0'或則str[i]='\0'的意思還得從上面的那個循環開始說起,while(*P)何時才為假嗎?必須當p指向字元串的結尾標志才行,也就是p指向了'\0',於是*p=0,於是循環退出,循環裡面就是把空格去掉,這里的去掉的方法是把以前空格的位置用*p對其賦值,*P的值是空格後的字元,例如ab
cd
efg'\0'後來會變為abcdefg為什麼這里沒有'\0',那是因為還沒來得及賦值給它就已經退出循環了,所以必須再循環後面加個'\0'。字元串一定要有'\0'做結尾標志,這個就不用說了

Ⅵ c語言 字元串去掉空格

//修改如下:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

voidtrimSpace(char*instr,char*outstr){
inti=0;
intj=0;//因為去掉空格後的字元串的字元個數和去掉空格之前不一樣,需要額外增加一個變數用來標記下標。
for(i=0;i<(int)strlen(instr);i++)
{
if((int)(*(instr+i))==32)
{
continue;
}
else{
*(outstr+j)=*(instr+i);
j++;
}

printf("%c",*(outstr+i));//這個位置可以列印出來去掉空格之後的字元串

}

*(outstr+j)='';
printf("%s",*outstr);//這個位置再列印就是null了求解為什麼感謝

}

voidmain(){
char*p1="abcdefgdddd";
charp2[100]={0};
trimSpace(p1,p2);
//printf("%s",p2);
getchar();
}

Ⅶ C語言-刪除字元串空格

①目標

要族謹塌刪除字元串中的所兆圓有空格,

就要篩選出空格字元。

要篩選,就要對首字元做標記。

要所有空格,就要遍歷。

~

②命令行

#include< stdio.h>

#include< stdlib.h>

#include< ctype.h>

~

③定義函數

void fun(char *str)

{int i=0;

char *p;

/*標記:p=str表示指針指向字元串首地址做標記*/

for(p=str;*p!='\0';p++)

/*遍歷:不等於'\0'表示只要字元串不結束,就一直p++。*/

if(*p!=' ')str[i++]=*p;

/*刪除:如果字元串不等於空格,即有內容就存入字元串。等於空格就不儲存,但是指針還是p++繼續後移,跳過儲存空格相當於刪除。*/

}

void fun(char *str)

{int i=0;

char *p=str;

while(*p)

{if(*p!=' ')str[i++]=*p;

p++;}

/*除了for循環遍歷,也可while循環遍歷。注意 p++在if語句後,不然晌鏈會漏掉第一個字元。*/

str[i]='\0';

/*循環完畢要主動添加'\0'結束字元串。*/

~

④主函數

viod main()

{char str[100];

int n;

printf("input a string:");

get(str);

puts(str);

/*輸入輸出原字元串*/

fun(str);

/*利用fun函數刪除空格*/

printf("str:%s\n",str);

Ⅷ 如何在C語言中的字元串中刪除所有空格和製表符

#include<stdio.h>
#include<string.h>
voidprocess(char*str)
{
intlen=strlen(str);
charbuff[len+1];
吵盯intcount=0;
char*p=str;
while(*p!='')
{
液枝if(*p==''||*p==' ')
{
p++;
continue;
}
升埋和else
{
buff[count]=*p;
count++;
p++;
}
}
buff[count]='';
memcpy(str,buff,count);
}
intmain()
{
charstr[100];
printf("pleaseinputastring:");
gets(str);
process(str);
puts(str);
return0;
}

Ⅸ c語言刪除字元串中的空格

#include <stdio.h>

int main()

{ int i,j;

char s[]="How are you? Fine, thank you. And you? I'm fine, too.";

for(i=j=0; s[i]; i++)

if(s[i]!=' ')s[j++]=s[i];

s[j]=0;

printf("%s ",s);

return 0;

}

Ⅹ 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|