char a[2] = { '1','2' }; printf("%d", strcmp(a, "12"));
结果为 1
一个没有结束符,一个有结束符,为什么没有的比有的大?
业精于勤,荒于嬉;行成于思,毁于随。
char 一般當作無符號整數,a[2]是個隨機值,只有大於0 和 等於0 兩種情況。
多數時候,a[2]大於'
與之前一個問題類似——那個問題,我的答案還被吃瓜群眾踩了一腳——字符串是字符串,字符數組是字符數組。 strcmp 函數需要你傳入的是字串,因為只有字串才有
char a[] = {'1', '2', 'rrreee'}; printf("%d", strcmp(a, "12"));
的長度,它對記憶體進行了越界存取。 a
a
char 一般當作無符號整數,a[2]是個隨機值,只有大於0 和 等於0 兩種情況。
多數時候,a[2]大於'
與之前一個問題類似——那個問題,我的答案還被吃瓜群眾踩了一腳——字符串是字符串,字符數組是字符數組。 strcmp 函數需要你傳入的是字串,因為只有字串才有
你得到的結果其實不是 1,而是一個隨機值。因為 strcmp 函數並不知道的長度,它對記憶體進行了越界存取。
a