print函式輸出不出來東西
uj5u.com熱心網友回復:
不知道哪里錯了



uj5u.com熱心網友回復:
大約是你執行輸入函式的時候輸入的格式不對,所以那些scanf都失敗了。uj5u.com熱心網友回復:
teacher應該定義成字符陣列吧,看到input函式里用的是%s,如果還用字符,那么這兒的%s就會導致越界,因為%s要接收字符,至少要2個字符,因為'\0'也占一個字符。同樣的道理print里用%s輸出了teacher
所以,建議樓主把teacher定義成字符陣列,比如char teacher[32];
定義陣列長度建議定義成2的n次冪的大小,這個n根據你的預判陣列長度決定。
uj5u.com熱心網友回復:
第28行輸出中 printf("%d %s %s %d %d\n",
cla[i].num, cla[i].name, cla[i].teacher, cla[i].term, cla[i].person);,老師的名字是字串輸出,所以結構體里應該改為:struct Class{
int num;
char name[10];
char teacher[10];//老師名字是字串
int term;
int person;
};
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/238230.html
標籤:C語言
上一篇:計算兩個數的平均值
