이 연결된 목록을 인쇄 할 때 약간의 문제가 있습니다.C : 연결된 목록 인쇄 문제
프로그램은 사용자로부터 10 자의 목록을 가져 와서 순서대로 인쇄 한 다음 역순으로 인쇄합니다. 그러나 첫 번째 문자는 읽지 않습니다. 예
들어사용자 유형 "문자를 입력하세요" B C D 예 A (ㄱ 읽지 않는 프로그램) F g H 제가 J K
b c d e J 가능한이 상세한 만들려고 K
제가 H g F.
감사합니다.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define strsize 30
typedef struct member
{
int number;
char fname[strsize];
struct member *next;
}RECORD;
RECORD* insert (RECORD *it);
RECORD* print(RECORD *it, int j);
int main (void)
{
int i;
double result;
RECORD *head, *p;
head=NULL;
result=10;
for (i=1; i<=result; i++)
head=insert (head);
print (head, result);
return 0;
}
RECORD* insert (RECORD *it)
{
RECORD *cur, *q;
int num;
char junk;
char first[strsize];
printf("Enter a character:");
scanf("%c", &junk);
scanf("%s", &first);
cur=(RECORD *) malloc(sizeof(RECORD));
strcpy(cur->fname, first);
cur->next=NULL;
if (it==NULL)
it=cur;
else
{
q=it;
while (q->next!=NULL)
q=q->next;
q->next=cur;
}
return (it);
}
RECORD* print(RECORD *it, int j)
{
RECORD *cur;
cur=it;
int i;
for(i=1;i<=j;i++)
{
printf("%s \n", cur->fname);
cur=cur->next;
}
return;
}
Yikes! 당신은 들여 쓰기 작업을해야합니다. – pmg
저는 보통 돌아가서 끝에 들여 쓰기를합니다 : -X – Erica
@Erica 들여 쓰기의 이유는 약 20 %에 불과하므로 다른 사람들이 코드를 읽을 수 있습니다. 나머지 80 %는 귀하의 코드를 읽을 수 있습니다. – Daniel