① 如何把數組中的0去掉,非零保留下來
可以使用如下辦法:
int []arrInt={1,2,5,6,7,0,0,3,9};
int j=0;
for(int i=0;i<arrInt.length;i++){
if(arrInt[i]!=0){
j++;
}
}
int []newarr=new int[j];
j=0;
for(int i=0;i<arrInt.length;i++){
if(arrInt[i]!=0){
newarr[j]=arrInt[i];
j++;}
}
for(int i=0;i<newarr.length;i++){
System.out.println(newarr[i]);
}
在循環外定義一個新數組…用for在裡面寫if條件是循環的那個數組的下標如果不等於零就放到另一個數組里。
② 儲存字元串的三種形式(string,char*,字元數組)都會在字元串結尾封裝\0嗎
當把一個字元串常量或字元串數組拷貝到另一個字元數組或拷貝到char *型指針所指的空間時才會在最後自動添加'\0';用字元串初始化字元數組或字元指針指向的空間時也自動添加'\0';字元串輸入庫函數在從鍵盤接收一個字元串時也會自動在最後添加'\0'。其餘不能整體操作的情況不會自動添加'\0',需要時得由程序員寫入添加語句。string類的對象與char數組處理字元串不同,它的字元串並不以'\0'結束,所以不存在添加不添加'\0'的問題,需要轉換成char型字元串時得調用其成員函數c_str來做轉換操作。
③ 你好,我寫的c語言程序字元串數組後面總是顯示0,怎樣把這個0去掉,讓0不顯示,謝謝
\0(ascii 0) 字元串結束標志,只要字元串數組大小夠大,編譯器會自動加上。
如果在給數組賦值時,把每個字元單獨用引號括起來。也會丟失'\0'。如:
u8 str1[]={'c','x','j','r','.','2','1','i','c','.','o','r','g'};
一般來說只是在內存中存在,輸出時不會顯示,沒見到你的輸出語句,無法判斷
④ C語言去掉末尾0 oj系統不讓用數組我該怎麼輸出04 望大神指點
用char是為了printf的時候可以用字元串形式輸出;當然你可以用整形數組來定義,不過列印就比較麻煩,而已佔用內存也多很多倍。
char a[100]={'\0'};是把數組初始化為0,這里'\0'是常用的表示數值為零的字元的寫法,也是字元串結束符。
⑤ 怎樣去掉字元串中的結束字元\0
很久沒有弄C了,看了你的代碼,感覺太亂了。
static int x=302;
x+=1;
//ShowMessage(IntToStr(x));
string str;//我用的是string類型
str=LeftStr(IntToStr(x), 3) ;
ShowMessage(str);
str[strlen(str)]='\n';
這個就是弄不通
首先要明白,做這個操作的後果是字元串沒有結束標志位了。
1. C語言,字元串就是字元數組,數組的最後用\0的特殊字元表示字元串到這里結束了。如果你把這個修改了(直接修改內存,這是C的強處),讀取這個數組的時候就會越位,繼續讀取後面的內容,直到遇到\0為止(帶來問題,這是弱點)。
2. strlen(str),求的是str字元串的長度,數組是從0開始計數的,其實你這里是對的(這里明白吧)。但是字元串直接定義是表示常量,是不能改變的,只能釋放這個空間在重新申請一字元串存放的空間。
3. 如果你將str定義為char 的數組類型,那麼是可以修改的。string是要報錯的,這個等你學過操作系統和編譯原理就會明白了。常量和變數在內存的本質分配空間不一樣的。
4. 同時,如果你要學習c的話,建議你在使用字元串等對象之前判斷它是不是空的!這個習慣很好。
⑥ 如何去掉字元串後面為0的字元
以str字元串為例
則應該是:str[strlen(str)]='\n'這樣就把結束字元去掉,變成轉義字元'\n'因為它是轉義字元,且根據它的特殊含義,不會影響結果,當然,你也可以填充其他字元
⑦ 怎樣刪除一個字元數組中的最後一個字元
strlen可以取字元串長度, 所以 str[strlen(str)-1] = 0 就能刪除最後一個字元了
⑧ java中字元串如何去除最後一個字元
利用java中String類的substring()字元串截取方法 和length()求字元串長度方法即可。
1、語法解析:
public String substring(int beginIndex, int endIndex);第一個int為開始的索引,對應String數字中的開始位置;第二個是截止的索引位置,對應String中的結束位置。
2、具體代碼如下:
⑨ c語言,字元數組中最後一個字必須為『\0』,為什麼錯
c語言中字元數組並沒有規定最後一個字元為'