22번째줄까진 맞는것같거든?
numArr1이랑 numArr2랑 합치는건데 23번째줄에서 p3=numArr3; 했으니까 24번째줄부터 p3에는 numArr3[0]이 들어가야 맞는거아니냐 실행하면 numArr[20]으로 실행됨;
과제가 10개인데 이거랑 똑같이 배열이랑 같이 나오면 손도못대겠다 혹시 도와줄 프붕이있냐??
22번째줄까진 맞는것같거든?
numArr1이랑 numArr2랑 합치는건데 23번째줄에서 p3=numArr3; 했으니까 24번째줄부터 p3에는 numArr3[0]이 들어가야 맞는거아니냐 실행하면 numArr[20]으로 실행됨;
과제가 10개인데 이거랑 똑같이 배열이랑 같이 나오면 손도못대겠다 혹시 도와줄 프붕이있냐??
p3가 계속 같은 곳을 지정하고 있으니 p3에는 18이 들어가겠지
니 생각이 맞는 거 같은데 곰곰히 생각해보니깐 처음에 p3는 p1의 값을 저장하면서 \0은 저장하지 않았고 이어서 p3에 p2을 저장하면서 역시 \0은 저장하지 않음 두번째 while문까지 이렇게 프로그램이 실행됨. 그다음에 p3는 끝에 \0를 저장하고 23줄까지 p3는 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,\0 이렇게 값이 돼니깐 세번째 while 문에서 p3은 numArr3[19] 아닐까
p3에 p1하고 p2를 저장했자나 그래서 p3는 p1하고 p2합친 마지막을 포인터가 가리키는 거 아님?
175.198 글쓴이 본인임? 왜 18이 나오는지랑 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 이렇게 나오는 방법 알려줘?
p3에 p2하고 p1이 연이어서 기록돼자나 그니깐 p3에 p2기록하고 그 다음에 p1이 p3에 기록됨. 근데 while문의 특성상 \0을 만나면 while문에서 빠져나오자나 그러니깐 20줄에 p3는 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18 이렇게 돼면 이 상황에서 21줄과 22줄에 의해서 p3는 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,\0이 됨. 23줄부터는 나도 좀 헷갈리네
전혀 아니지 p3는 numArr3[0]을 계속 가리키고 있기 때문에 numArr3[0]에 1부터 18까지 계속 값이 덮어 씌워지는거야 그리고 3번째 while문 직전에 와서야 p3++로 numArr3[1]을 가리키고 거기에 '\0'이 들어가겠지 그래서 최종적으로 numArr3[] = { 18, '\0' }이 저장되서 18만 출력되는거고 니가 p3에 p1과 p2값 전부를 넣고 싶으면 p1과 p2뿐만 아니라 p3역시 p3++로 인덱스를 바꾸었어야지
과연 그렇구나 알았음 이해됐음
뭔 개씹소리를 쳐하는건지 모르겠다. 적어도 이런 과제 도와달라고 올리려면 최소한 복붙가능하게 소스라도 쳐올려놓고 그전에 무슨 프로그램인지 설명하는게 먼저다. 소스도 존나 간단하고 18출력되는거 맞는데 뭐가 이상하다는거지?????