關於字串陣列的小問題,一個關於字串陣列的小問題

時間 2022-06-24 14:35:06

1樓:匿名使用者

你的程式的問題很簡單。

系統輸出字串陣列時是以"\0"(引號中的部分)作為字串結尾的。在\0之前的字元全都會被輸出。而你的陣列中沒有定義\0,所以系統就不知道何時結束輸出。

就隨便輸出了幾個值(隨便這個定義可能不科學,因為系統實際上順著該字串的記憶體地址繼續輸出,實際已經超出了字元陣列的記憶體地址)。

所以只要在字串陣列結尾新增一個元素\0即可。

另外標準的c++的main()函式必須是int型而不能是void型,且必須有返回值。void main()只能在微軟的部分編譯器上編譯,而換一個編譯器就會出現錯誤。所以建議將void main()改為int main()並新增return 0;

修改後的程式如下:

#include

using namespace std;

int main()

;cout<

return 0;}

2樓:

作為字串結尾必須是'\0'你這個只能叫字元陣列

找不到那個'\0'結束標誌 所以輸出不止5位

3樓:

字串變數char str[5];

已經內建了5個字元, 如果按字元輸出是沒有問題的,按字串輸出,由於沒有字串結束符'\0',所以其輸出結果是錯誤的。

如果你再執行一遍,其結果在china後面還不知道是什麼.

如果 char str[6]=;

就沒有問題了!

c語言字串陣列問題

4樓:苦瓜它不苦

合法的,這種就是單純的字元陣列,而不是字串了但是如果是 這種模式的,那麼這個就是字串,而不是陣列這就是字元陣列和字串之間最根本的區別

b的大小是4,是按照字元的個數取值的

而且,如果用%s輸出b,這種是未定義行為,輸出的結果除了data以外完全取決於後續記憶體中是否有資料,只有當%s讀取到後續的記憶體中最近的一個'\0'才會結束輸出

比如說,data的首地址0x0001,尾地址是0x0004,如果0x0005....還有資料,它會一併輸出,直到某一個地址的值是0為止(二進位制:0000 0000)

5樓:匿名使用者

a中的my_str[5]是字串陣列,系統自動在最後加空字元,因此長度是5

b中的my_str是字元陣列,而不是字串陣列,因此最後沒有空字元。這個字元陣列一共有4個元素,因此長度是4。

字元陣列和字串陣列是兩碼事。

關於字元陣列的問題?

6樓:匿名使用者

if(a[0]="0"),沒有你這種寫法,你自查以下是不是抄錯了。短短的一句,兩個錯誤:

1、應該是==,而不是=

2、應該是'0',是單引號,而不是雙引號。

關於字串陣列的問題

關於c語言字串陣列的問題。

7樓:

因為你while迴圈裡面,先給字串賦值了。 再判斷的; 所以。。。最後有空格;

打個比方; 我輸入 a ;

當i == 1 時, str[1] = ' ';

i++; //i = 2;

判斷ch = ' '; // space = i = 2;

跳出迴圈後;

進入else; str[2] = '\n';

所以有空格;

問個關於字串陣列的問題

8樓:匿名使用者

1stemp[2] = "hello"; 不可以,改為:strcpy(stemp[2] , "hello");

2 sizeof(stemp[2])的值為32。

9樓:匿名使用者

string實際上相當於char [32]所以string stemp[10]就相當於char stemp[10][32];了

字串賦值必須用strcpy,除非是在定義一個字串的同時初始化,才能用="hello"這種形式

既然string相當於char [32],那麼sizeof(stemp[2])當然是32了。

10樓:

你這麼賦值是可以的。sizeof(stemp[2])等於6,相當於5個字元'h' 'e' 'l' 'l' 'o'加一個字串結束符'\0'。

關於字串陣列的問題

11樓:匿名使用者

sizeof是分配空間的大小,跟裡面存的內容沒有關係。str[1]裡是a\0,後面的6個位元組未賦值。

關於Python字串的問題,一個關於Python字串的問題

唐小貝戔 for i in range 6 轉換字串為賦值語句 exec wb d load workbook d.xlsx i,i 讀取 wb0 wb1 wb5 變數返回的工作簿物件print eval wb d idx 經過這樣的轉換,你就可以直接在後續 中使用 wb0 wb1 wb5 變數來進...

關於字串比較的問題

strcmp的話應該是兩個字串拷貝,第一個是字串,但是ch不是一個字串也不是一個常量,所以無法執行。第二個引數改為字串的話,引數傳地址就可以了。你比較的裡面ch是一個字元,不是字串。cannot convert parameter 2 from char to const char conversi...

c一維陣列,C 一維陣列賦值字串問題

這樣看你是否明白 首先要有一個叫user的類,定義三個屬性,分別是account,name,password以記錄帳戶,姓名,密碼資料 class user public string name public string password class program 陣列是從0開始的,你可以認為陣...