<div class="im">year, month day는 정수형을 받고</div> <div class="im">info는 gets로 문자열을 받았습니다.</div> <div class="im"> </div> <div class="im">그리고 이걸</div> <div class="im"> </div> <div class="im">typedef struct days{<br> int year, month, day;<br> char content[10000];<br> struct days *next;<br>}dates;</div> <div class="im"> </div> <div class="im">이렇게 선언된 dates *sc_head; 라는 구조체에 넣어주려고 하는데</div> <div class="im"> </div> <div class="im">입력을 받을때 판단을 해서 year month day숫자에 오름차순이 되도록 정렬을 하여 sc_head에 저장을 하려고 밑에와 같이 코드를 짯스빈다.</div> <div class="im"> </div> <div class="im"> </div> <div class="im">void add_sch(int year, int month, int day, char* info)<br> {<br> dates *t;<br> dates *s;</div> dates *temp; <div class="im"> t=(dates*)malloc(sizeof(<wbr>dates));<br> t->year =year;<br> t->month = month;<br> t->day = day;<br> strcpy(t->content,info);</div> <div class="im"> </div> <div class="im"> if(sc_head->next == sc_tail)<br> {<br> sc_head->next = t;<br> t->next = sc_tail;<br> }<br> else<br> {<br> s=sc_head;</div> <div> while((s->year>year)&&(s->next !=sc_tail))<br> {<br> s=s->next;<br> }<br> while ((s->month>month)&&(s->next !=sc_tail))<br> {<br> s=s->next;<br> }<br> while((s->day>day)&&(s->next !=sc_tail))</div> <div>{<br> s=s->next;<br> }<br> temp=s->next;<br> s->next=t;<br> t->next = temp;<br> }<br>}</div> <div> </div> <div> </div> <div> </div> <div> </div> <div>근데 정렬이 안되고 그냥 아예 입력된게 역순으로 나와요...;;</div> <div> </div> <div>평상시 같으면 1번,2번,3번 순서로 입력을 했으면 출력시에서 1번,2번,3번 순서로 나오는데</div> <div>위에 코드로 실행을 한 후에 출력을 하면</div> <div>3번 2번 1번으로 나오네요.</div> <div> </div> <div>뭔가 swap이 되고잇긴 한거 같은데 숫자 대소관계와 상관없이 그냥 swap이 되서 역순으로 아예 다바뀌는거 같은데</div> <div> </div> <div>어떻게 손봐야될지 감이 안오네요 ㅠㅠ 살려주세요.<br></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.