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