도움 주시면 감사하겠습니다.. ㅠㅠ

okkdy0628 Reply 4 years 21 weeks ago
이전까지의 Discuss에서 나온 아이디어를 바탕으로 맨 첫 번째 단어가 "undo"가 아니면 각 단어와 숫자를 하나씩 저장하고, "undo"이면 인덱스를 1 줄인 다음 다시 입력을 받는 방식 (즉, 덮어쓰기)을 의도하였습니다. 샘플 인풋을 넣고 디버깅했을 때, 의도대로라면 order1에서는 go turn go tile go tile order2에서는 straight right straight add straight subtract 가 저장되어야 하지만, 실제 디버깅 결과 order1에서는 go turn go tile go undo straight tile order2에서는 straight right straight add straight go 2 subtract 로 나타납니다. undo를 입력한 이후로 뭔가 프로그램이 꼬인 것 같은데... undo를 처리하는 방법에 혹시 어떤 문제가 있나요? ㅠㅠㅠ 질문 받아주셔서 감사합니다...
withcs2 Reply 4 years 21 weeks ago
문자열은 char 배열이므로 주소값이 전달됩니다. order1[index]!="undo"는 order1[index]의 주소가 "undo"와 같은지를 확인한다는 뜻입니다. int main() { char a[5]="undo"; if(a!="undo") puts("not same"); else puts("same"); } 를 한번 실행해보시면 좋을 것 같아요 문자열은 11단원 강의자료를 참고해보세요