

這是我剛寫的,為啥會出現中文亂碼的情況,求大神幫幫忙,謝謝啦!
uj5u.com熱心網友回復:
https://blog.csdn.net/weixin_42109012/article/details/95747576?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase給你個地址 百度很多的
uj5u.com熱心網友回復:
因為你沒有賦值uj5u.com熱心網友回復:
沒有用scanf給word輸入內容,word陣列中存盤的內容不確定,printf從word開始輸出直到遇到空字符\0結束,所以可能會出現亂碼。uj5u.com熱心網友回復:
尷了個尬 我都沒看代碼 = =uj5u.com熱心網友回復:
我剛才找到問題所在了,沒有scanf輸入,我在6-7行之間加了個scanf("%s",word,30)就好了uj5u.com熱心網友回復:
char[30] word= {0};uj5u.com熱心網友回復:
“燙”字對應的十六進制碼是0xCCCC,而陣列word由于沒有初始化,所以默認值都是0xCCuj5u.com熱心網友回復:
可能是段錯誤uj5u.com熱心網友回復:
沒有初始化,那么word陣列里的元素是隨機值,所以出現亂碼是正常,還有可能出現段錯誤(因為可能訪問不可讀的記憶體),因為strlen()導致訪問非法記憶體。uj5u.com熱心網友回復:
你沒往word里面輸入內容,又沒初始化word變數,當然亂碼了。良好習慣是變數定義后立即初始化!
char word[30]={0};
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/24052.html
標籤:新手樂園
上一篇:求解一道資料結構題,感謝大佬們
