dev c++怎么用 C語(yǔ)言完善程序,刪除字符串中的所有空格?
C語(yǔ)言完善程序,刪除字符串中的所有空格?*P=“0”或“STR[i]=”0“的含義必須從上述循環(huán)開始?!皐hile(*P)”何時(shí)為假?只有當(dāng)p指向字符串的結(jié)束標(biāo)記時(shí),即p指向“0”,那么*p=0,循環(huán)
C語(yǔ)言完善程序,刪除字符串中的所有空格?
*P=“0”或“STR[i]=”0“的含義必須從上述循環(huán)開始?!皐hile(*P)”何時(shí)為假?只有當(dāng)p指向字符串的結(jié)束標(biāo)記時(shí),即p指向“0”,那么*p=0,循環(huán)才退出。在循環(huán)中,空間被移除。這里的方法是用*P給前面的空格賦值,*P的值是空格后面的字符,比如AB CD EFG“0”以后會(huì)變成ABCDEFG。為什么這里沒(méi)有“0”是因?yàn)樗谟袝r(shí)間給它賦值之前就已經(jīng)退出了循環(huán),所以在循環(huán)之后有必要添加“0”。字符串必須有“0”作為結(jié)束標(biāo)記,不用說(shuō)
~]/*
刪除字符串空間
*/]#include
#include
void main()
{char[80],STR1[80
]inti,j=0
獲?。–H)
for(I=0I
{
]if(CH[I]==“
]{}]else
STR1[j]]=CH[I
}]put(STR1)
}
C語(yǔ)言怎樣刪除字符串中的空白字符?
用指針遍歷字符串。如果不是空格,則數(shù)據(jù)將保留在字符串中。如果是空格,將跳過(guò)該字符并檢查下一個(gè)字符。
參考代碼和運(yùn)行結(jié)果如下:
~]#include<stdio。H>int main(){int i,i1char a[100]為(i=0A[i])獲取(a)!=“0”I)如果(a[I]=“”)(I1=ia[I1]!=“ ”I1)a[I1]=a[I1]for(I=0A[I]!=“”0”I)printf(%C”,a[I])pushar(“”n”)返回0}
#Include<stdio。H>#包含<string。H>void main(){chartr[20]inti,j=0printf(“input string:n”)獲?。⊿TR)for(I=0I<strlen(STR)I)if(STR[I]!=”)str[J]=str[i]str[J]=”“0”puts(str)}