代码中颜色标注的部分(scanf("%c",&c);//读取缓存区中的'\n')为什么改变位置就不对了?

颜色标注的那一部分(scanf("%c",&c);//读取缓存区中的'\n')用来读取'\n',不应该输入完价格之后再进行'\n'读取吗,避免被字符数组读入,求解答,感谢

img

img

img

scanf("%c",&c); 用 getchar(); 来替代。
在第10行后插入一句:getchar();
第11行定义结构体数组 book[n] ,n 是个变量,你的编译器能通过吗。
第18行的 scanf("%c",&c); 改用:getchar();