질문있습니다!!!
디버거로 해보니 계속 무한루프를 도는 이유는 scanf로 '%i'자료형으로 받을때 문자'q'를 입력하면 자료형이 다르기때문에 u에는 'q'의 아스키 코드인 113이 들어가는게 아니라 이전에 입력했던 값이 그대로 들어있게됩니다. 그래서 와일문조건에 맞기때문에 계속 루프를 돕니다. scanf를 무시하고 루프를 도는 이유는 정수형으로 입력받을때 버퍼에 남아있는 줄바꿈 '\n' 이 무시되기때문에 계속 도는것 같네요. 지금 작성하신 코드에서 사용자가 113이라는 숫자를 더하고싶어서 입력하게되면 의도치않게 루프문에서 빠져나오게 됩니다. 정확하게 'q'를 받아서 끝낸다고 한다면 많은 조건이 필요할 것 같습니다. (문자열로 입력받아서 바꿔준다든지 q외에 다른 문자가 입력되면 다시 입력한다든지 하는...)