我一直在嘗試使用一些帶有字符和一些空字符的索引來獲取字符數組,並將其更改爲僅包含字符的數組 - 將索引移到需要時刪除空的空格處。C-Shift Array
這是我的做法至今:
char *args[256];
void removeNulls(){
for(int i=0; i<=token; i++){
if(args[i] == '\0'){
shiftleft(i);
}
}
}
void shiftleft(int start){
for(int i=start; i<token; i++){
*(args+i) = *(args + i +1);
}
}
但是,我這樣做,並打印出結果時,我注意到,args數組, 即初始args數組中,它包括:空,null,1,2,3,4在刪除null之後,該數組變爲null,而不是所需的1,2,3,4。在我的循環條件中是否存在某些我未能解決的問題?
您能否顯示您的完整程序?這不會編譯。 – Schwern
順便說一下,'*(args + i)'有一個方便的簡寫:它可以(通常是)寫成'args [i]'。 –