最近在編一個學生成績管理系統,然後就發現了一個問題.....
scanf("%s %s %c ",name,stunum,&sex);
在運行時輸入Xiaoming 2015000000 F
輸出的stunum是2015000000, sex是F
但是把語句改成
scanf("%s %s %c ",student[0].name,student[0].stunum,&student[0].sex);
輸入和上面一樣的東西,輸出卻變成了stunum是2015000000F,sex還是F
為什麼啊?不明白TAT
難道結構體裡的字符串和普通字符串不一樣麼
求高手拯救我這個小白orz
stunum分配的長度是多少,很可能是分配長度過短,結果越界訪問到了sex字段。請保證至少分配字符串長度+1。以便存儲字符串和結束的\0