一不小心就掉大啦《数组使用注意》
生活随笔
收集整理的這篇文章主要介紹了
一不小心就掉大啦《数组使用注意》
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天程序提交答案總是不對,調試半天才發現本定義的是char s[4]={'1','2','3','4'} ;
程序運行過程中輸出才發現多了一個字符 ?printf("%s\n"); //結果12349
思前想后覺得可能是沒有字符數組結束符 ('\0');
特別注意:
定義使用字符型數組時,應多開出一個空間來存放 '\0' ,如果字符數組中沒有 '\0'則strlen(char *s),str....的函數調用時都會出現問題,因為這些函數都找不到哪里是字符數組的結束符。
例如:
s[4]="1234"; ?同時s數組緊跟其后的二個字節的有數據(假如為 '5' '\0')
在調用函數的時候傳遞的是數組的首地址使用 puts(s); 結果就是 :12345?
????????????????????????????????????????????????????????????????????小弟才疏學淺,如有理解有誤還望提點,謝謝
???????????????????????????????????????????????????????????????????????????????????????????????2014-3-22
總結
以上是生活随笔為你收集整理的一不小心就掉大啦《数组使用注意》的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 地下城与勇士异界气息解除后不能强化吗?
- 下一篇: NYOJ 2 括号配对问题