gets()

익명 사용자의 이미지

char line[512];
그리고
switch case 안에서

printf("input");
gets(line);

이렇게 해주면 line 에 쓰레기 값이 들어가는지 입력을 받지도 않고 다음
으로 기냥 넘어갑니다
line을 출력해보면 쓰레기값이 나오구요
왜 이러죠?
빈칸이 있는걸 받아야 되서 scanf 로는 못 받고

익명 사용자의 이미지

표준입력으로 부터 받는거라면
fgets 를 쓰시는게 좋습니다.
gets 는 사이즈 검사를 안하기 때문에 되도록이면 쓰지 않는게 좋구요.

fgets(char*, 255, stdin)
머 대충 이런식으로 ..사용하시면 됩니다.