왕초보가 질문하나 드립니다.
누리봄
라인에디터(?)문제입니다.특정 부분에서 특정 부분까지 출력하는 구문에서의 문제질문 내용 : 특정부분에서 특정부분까지 입력된 값을 출력하는 구문입니다.
완전 족보도없이 짜본코드입니다.
음수를 입력받으면 지금까지 입력된 모든 내용이 출력되는건데....
시작줄에 음수를 주고 마지막줄에 멀쩡한값을주면 바로 참조오류가 뜨구요 ㅠㅠ
또 시작줄과 마지막줄 번호를 입력해주면 0부터 시작해서 n까지는 똑바로 뜨는데 n부터 시작해서 n까지로
범위를 지정해주면 무조건 0,1 이 두값만 찍히네요 ㅠㅠ 정말 .. 죽을꺼같습니다.
소스를 짜달라는건 아닙니다. 틀린점이 엄청많을테니 빨간줄로 그어주시고 힌트를 주시면 정말 감사하겠습니다.
void print_line(listtype *buffer)
{
int i, pos1, pos2;
listnode *tmp_node;
tmp_node = buffer-head;
printf(시작줄 번호를 입력하세요 : );
scanf(%d, &pos1);
printf(마지막줄 번호를 입력하세요 : );
scanf(%d, &pos2);
if(pos10||pos20)
{
printf(**************\n);
for(i=0;ibuffer-length;i++)
{
printf(%s,tmp_node-data.a);
tmp_node = tmp_node-link;
}
printf(**************\n);
}
else
printf(**************\n);
for(i=pos1;i=buffer-length;i++)
{
if(i=pos2)
{
printf(%s,tmp_node-data.a);
tmp_node = tmp_node-link;
}
else
tmp_node=tmp_node-link;
}
printf(**************\n);
}
-
황소숨
if 조건을 만족하거나 만족하지 않고 else로 가더라도 항상 tmp_node는 buffer-head를 가리킵니다.
일단 else에서 pos1만큼 tmp_node = tmp_node-link를 반복시키고,
그 다음부터 pos2-pos1만큼 반복해서 출력을 시켜보세요.
부분적인 소스라서 이렇게밖에 답을 못하겠네요.