char data[10] = {0x31,0x31,0x33,0x2e,0x31,0x32,0x33,0x34,0x35,0x36};
char buf[128] = {0};
printf("%s\n",data);
sprintf(buf,"%s",data);
printf("%s",buf);
預期的結果是:
113.123456
113.123456
實際輸出的結果是:
113.1234563131332e313233343536
113.1234563131332e313233343536
問題:
1 產生這個問題的原因是什么
2 如果修正以上代碼達到預期結果
uj5u.com熱心網友回復:
你編譯器有問題吧,你什么發行版系統?什么編譯器?實在不行就在最后加一個0x0
char data[11] = {0x31,0x31,0x33,0x2e,0x31,0x32,0x33,0x34,0x35,0x36,0x0};
uj5u.com熱心網友回復:
字串類陣列最好最后多開辟一個位元組存放‘\0’,不然列印的時候后面就會這樣轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/67936.html
標籤:應用程序開發區
上一篇:榮耀magicbook的RTL8822CE驅動在kali2019.3中編譯報錯
下一篇:linux makefile
