Pure scanf("%c ")或getchar()將讀取您上次輸入的回車符(\n)。
然後妳讀壹個回車。
正確的做法是讀入壹個字符串,然後先取字符串。
代碼:
//老師?學生?信息壹起?並打印出來。
# include & ltstdio.h & gt
工會?情況
{
int?得分[4];//學生4科成績
夏爾?情況[40];//教師的工作情況
};
struct?個人的
{
int?num//數字
夏爾?名稱[10];//名稱
夏爾?性;//性別
夏爾?善良;//過濾?t?還是?s
工會?條件?改變;
};
struct?私人的?信息[2];//創建兩個個人信息表
作廢?主()
{
int?我,?j;
為了什麽?(我?=?0;?我?& lt?2;?i++)
{
printf("拜托?輸入?num:");?//數字
scanf("%d ",& amp信息[i]。num);
夏爾?性[16];
printf("Enter?那個?m?還是?那個?w:“);//性別?
scanf("%s ",性);
信息[i]。性?=?性[0];
printf("Enter?那個?姓名:“);?//名稱
scanf("%s ",信息[i]。姓名);
夏爾?ts[16];
printf("拜托?改變?t?還是?s:“);?//?t?還是?s
scanf("%s ",ts);
信息[i]。善良?=?ts[0];
如果?(' t '?==?信息[i]。善良)//?t?為教師工作
{
printf("拜托?進入?那個?情況?:");
scanf("%s ",信息[I]. change . situation);
}
不然呢?//?s是?學生的成績
{
為了什麽?(j?=?0;?j?& lt?4;?j++)
{
printf("拜托?進入?沒有%d?分數:“,?j);
scanf("%d ",& ampinformation[I]. change . score[j]);
}
}
}
為了什麽?(我?=?0;?我?& lt?2;?I++)//打印以下內容
{
printf("%d\n ",信息[i]。num);//數字
printf("%s\n ",信息[i]。姓名);//名稱
printf("%c\n ",信息[i]。性);//性別
如果?(' t '?==?信息[i]。善良)
{
printf("%s ",信息[I]. change . situation);//工作情況
}
其他
{
為了什麽?(j?=?0;?j?& lt?4;?j++)
{
printf("%d ",information[I]. change . score[j]);//結果
}
}
}
}運行: