10828번 - 스택
런타임에러가 나는데
어디서부터 문제가 되는지 모르겠습니다..
push되는 숫자가 100000이하인데
소스는 1자리만 들어온다고 가정하네요
@yukariko
원래 이런식으로 풀면 안되는건가요?
push + ' '를 무시하고 나머지를 정수로 변환하는 방법이 있을까요
atoi라는 함수를 쓰거나
입력을 라인이 아닌 단어와 숫자로 받아오는 방법이 있겠네요
입력이 한번에 들어오는데 문자 따로 숫자 따로 입력 받을 수 있나요?
아니면 void형으로 받아야 하나.....
scanf를 이용하시면 됩니다.
명령어를 문자열로받고 숫자가필요한 명령은 숫자를 따로받으면 되죠.
제가 이해한 것은...
숫자가 필요한 명령이여도 일단 받을땐 숫자까지 같이 문자로 받아야 할 수 밖에 없지 않나요?
push +공백 까지만 받으려고 stack[6]을 선언하면 배열을 초과하고 배열을 늘리면 숫자를 문자로 받아야 하니..
scanf 함수에 대한 공부가 필요해 보입니다.
http://en.cppreference.com/w/c/io/fscanf
scanf에 대해 공부가 되셨다면 자연스럽게 어떻게 받아야 할지 감이 오실겁니다.
꼭 scanf함수가 아니더라도
cin 으로도 충분히 처리할 수 있구요.
댓글을 작성하려면 로그인해야 합니다.
busyhuman 8년 전
런타임에러가 나는데
어디서부터 문제가 되는지 모르겠습니다..