1樓:
char a[2];
作為字串時,a[1] 應作為存放字串結束符"\n"之用。
a[1]='1'; 把 "\n" 的位子佔用了,所以 strlen(a) 不能正確測得字串長度。
char a="01"; a 陣列長度是 3 才夠用。
這就是你得 7 (隨機/不一定)的原因。
2樓:匿名使用者
strlen,計算字串長度時,要計算到字串結尾處'\0'(ascii碼為0),由於你的字串沒有結尾字元,所以strlen會一直增加計數,直到在記憶體中遇到'\0',以下是除錯的時候檢視的,可以發現當a[7]時出現了一個'\0'
- a 0x0012ff7c "01燙?"
[0] 48 '0'
[1] 49 '1'
a[2] -52 '?
a[3] -52 '?
a[4] -64 '?
a[5] -1 ''
a[6] 18 ''
a[7] 0 ''
a[8] -87 '?
3樓:
那是因為的字元陣列沒有結束符'\0'
你定義了字元陣列a,大小為2,2個位置都被使用了,沒有放置結束符'\0'的地方。
可以修改如下:
# include
# include
void main()
;//定義3個,並全部初始化為0
a[0]='0';
a[1]='1';
cout< }這樣的結果就是2了 4樓: 求大小應該用 sizeof 吧 1 1 王。1 1 田。語文角度的答案是。1 一個字加一個字等於一個詞 數學角度的答案是。2 物理角度的答案是。1 一個力加一個力等於其合力 化學角度的答案是1,2,3,甚至4,5,6 兩種化學物質反應產生的產物可能是多種的 動物角度的答案是1 弱肉強吃嘛,給吃了就還剩1了!從計算機2進位制算是10... 首先一個數 的n次方除以這個數的m次方等於這個數的 n m 次方 其中n大於m 所以一回個數的答n次方除以這個數的n次方就表示為這個數的 n n 次方,也就是這個數的0次方 又因為這個數的 n n 次方等於1 所以規定 任何除0以外的實數的0次方都是1當然2的0次方也等於1 2的零次方就bai是兩個... 因為正弦函式的週期是2 加一個周期函式值是不變的,所以sin 2 a 等於sin a 理工學科 高中數學 選擇 題 急 急 急 急 急 axmax 2,ymax 2 x 2y max 2 2 2 6當ymax 2時可知有xmin 0 當xmax 2時可知有ymin 0 代入x 2y式子,知取ymin...1 1為什麼等於2?
2的0次方為什麼等於,2的0次方為什麼等於
為什麼sin2a等於sina