A. c語言學生信息系統管理中,輸入男女用m和f表示時,輸入錯誤則提示重新輸入
完全錯誤,gender 是該函數中的局部變數,是程序中的形參,將數據存在形參裡面沒有意義。改成這樣
char inputgender()
{
//累贅定義不要,刪掉
char gender;
printf("\n(3)請輸入學生性別,『m』代表女生,『f』代表男生:");
scanf("%c",&gender); //gender 是 char 變數不是數組,不能用字元串佔位符%s!
if (gender != 'm' || gender != 'f' ) //!=才是不等於
{
printf("輸入錯誤,請重新輸入:");
inputgender( gender);
}
return gender;//函數返回值
}
B. C語言結構體數組輸出學生信息錯誤
數組下標是從0開始,沒有score[4],將1234改為0123
輸入字元串會自動加上'\0',你給student[i].name[N]加了空字元後,字元串變短了,所以只有一個字元,因為N等於1
C. C語言:鏈表,錄入學生信息:學號、姓名、性別、年齡、宿舍號碼、電話號碼。保存在文件里。這個哪裡錯了
新建鏈表裡面有一個很明顯的錯誤,fscanf的name參數輸出格式不應該為%c,而應該是%s
D. c語言 結構體、函數 求大神看看咋錯了,輸入只能輸六個人成績,多了輸不了了
函數調用時參數輸入錯誤。
input和print函數入參應該是數組頭指針,也就是元素0的指針,用stu或者&stu[0]都可以,改為:
input(stu);或者
input(&stu[0]);
E. c語言輸入學生成績和學號一直有錯
修改一下:
for ( x=0;x<N;x++ )
{ printf("輸入第%d學生成績:",x+1);
scanf("%f",&xue[x]);
printf("輸入第%d學生學號:",x+1);
scanf("%d",&ji[x]);
}
F. C語言,輸入的學號信息與顯示的不一樣,輸入多個學生信息時,會丟失一些信息,是怎麼回事
fscanf(fp,"\n\t%s\t%s\t%s\t\t\t%d\t%s\t%s\n",...——這簡直是胡寫!你看一下fscanf這個函數的格式化控制字元串應該如何組織……
G. C語言中,輸入錯誤請重新輸入
while後多了個分號,while這句不執行,但是之後的花括弧裡面語句依然按序執行。去掉分號就是你想要的了