輸入 - Hello World
一個給定的字符串截斷空間
輸出 - HelloWorld
這是程序我已經用C語言編寫。
但我得到分段錯誤。
我已經使用的邏輯是,當我發現了一個空間我換,與下一個字符,直到結束,然後插入一個「\ 0」字符
#include <stdio.h>
int main()
{
char s[12]="Hello World";
char *t;
t=s;
while(*t)
{
char *p;
p=t;
if(*p==' ')
{
while(*p !='\0')
{
char x;
x=*p;
*p=*(p+1);
*(p+1)=x;
p++;
}
*(p-1)='\0';
}
t++;
}
printf("%s\n",s);
}
內循環的同時我寫* p = *(P + 1); p ++;非常感謝...它的工作......但是發生了什麼早...爲什麼它顯示錯誤..... – user2712068
,但我使用x作爲字符變量用於交換... – user2712068
@ user2712068當你將(p + 1)*設置爲x,則在最後一次傳遞中,您將丟失NULL,從而使循環無限。 –