如图,一开始没加11行那句getline,scanf读取的两个数被15行的getline又读了一遍,前面加上getline吞了一行就对了_(:з」∠)_
scanf 不会吃掉 \n , flush 下就可以: void flush(void) { while (getchar() != '\n');},11行的 getline 起的作用一样。参考同类型问题下我的回答:https://ask.csdn.net/questions/7403100
scanf读完换行的时候会保留\n,中间加个getchar就可以吃掉换行符