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

去掉字元串中的所有空格C語言

發布時間: 2022-02-28 06:44:37

A. c語言刪除字元串中的所有空格

其餘沒什麼問題。
*str==*p;改為 *str=*p; 也就是==改為=

B. C語言 刪除字元串S中所有空格 desplace 函數 改錯題

何止三個錯啊,真佩服你,差不多每2行就有一個錯誤。一一指出實在太累了,直接給你正確的程序吧。

#include"stdio.h"
#include"string.h"
#include "ctype.h"
void delspace(char *str);
main()
{
char s[81]="a b c d e f g";
delspace(s);
puts(s);
}
void delspace(char*str)
{
int i,t;
char ts[81];
for(i=0,t=0;str[i]!='\0';i++)
if(!isspace(*(str+i))) ts[t++]=str[i];
ts[t]='\0';
strcpy(str,ts);
}

C. c語言編寫,輸入字元串,刪除字元串中所有空格並輸出

#include<stdio.h>
intmain()
{
inti,i1;
chara[100];
gets(a);
for(i=0;a[i]!='';i++)
if(a[i]=='')
for(i1=i;a[i1]!='';i1++)
a[i1]=a[i1+1];
for(i=0;a[i]!='';i++)
printf("%c",a[i]);
putchar(' ');
return0;
}

D. c語言 刪除字元串中所有空格

void myremovespace(char * str)
{
char *p1, *p2;
char ch;
p1 = str; //first pointer
p2 = str; // second pointer to the remaining string
if (p1==NULL) return;
while (*p1)
{
if (*p1 != ' ')
{
ch = *p1;
*p2 = ch;
p1++;
p2++;
}
else
{
p1++;
}
}
*p2 = '\0';
}
int main(void)
{
char * str = "ab c dd e ";
char * str1;
str1 = (char*)malloc(20);
strcpy(str1,str);
char str2[]=" a bv cd ";
myremovespace(str1); //work
myremovespace(str2); //work
myremovespace(str); // not work
// because str is in a read-only memory.
//*p2 = ch will result in run-time error
}

E. 計算機二級c語言:求一個函數代碼,作用是刪除字元串中的所有空格

#include<stdio.h>
#define N 60 // 數值自己確定
char delete(char s[ ])
{ int i,j=0;
char c[N];
for(i=1;i<=N;i++)
{
if(s[i]!=' ') c[j++]=s[i];
if(s[i]=='\0')) break;
}
return c[N];
}

main()
{
char a[N]={「asd de」};//數值數組自己設定,也可改成從鍵盤輸入的,隨意
printf(「%c」,delete( a[N]));
}

——物聯網校企聯盟 技術部

F. C語言 刪除字元串的所有前導空格

void f1(char *s)
{
char *t;
t=s;
while(*s==' ')//s指向第一個非空格字元
s++;
while(*t++=*s++);//將s指向的字元串復制到t指向的位置,而t就是指向原來字元串開始位置。
}

G. C語言中如何刪除字元串中的所有的空格

#include <stdio.h>

int main()

{

char *p="I am Chinese";

char c;

int i = 0;

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

if(c!=' ')

putchar(c);

}

}

(7)去掉字元串中的所有空格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

網路-字元串

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

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

I. c語言 為了刪除字元串後的所有尾部空格

你的程序我幫你改好了,你看看吧。

完整的程序如下:

#include<stdio.h>

#defineN5

intmain(){

inti,n=N;

chara[N],*p=&a[0];

for(i=0;i<N;i++)

scanf("%c",&a[i]);

for(i=N-1;i>=0;i--){

if(*(p+i)==''){

n=n-1;

}else{

*(p+i+1)='';

break;

}

}

for(i=0;i<n;i++)

printf("%c",*(p+i));

return0;

}

運行結果:

輸入:12空格空格空格

輸出:12

J. 請用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!