程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> c語言-求助!!!關於C裡scanf %s %c和結構體之間的疑惑!!!

c語言-求助!!!關於C裡scanf %s %c和結構體之間的疑惑!!!

編輯:編程解疑
求助!!!關於C裡scanf %s %c和結構體之間的疑惑!!!

最近在編一個學生成績管理系統,然後就發現了一個問題.....
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

Shirley_Xiqi
Shirley_Xiqi
caozhy
caozhy
Shirley_Xiqi
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved