我在寫一個使用鏈表的程序(如惡夢)。C編程:鏈接列表
無論如何,該程序的目的是輸入8個字符,並讓程序將字符打印回給您,並使用鏈接列表以相反的順序打印字符。
我到目前爲止得到了這個結果。這有很多錯誤(我認爲)。
的問題是
當要求從它應該在的字符數讀取用戶的字符,而不必問了多少個字符
而且,當它編譯它打印自動亂碼到屏幕上,例如我只是跑它和它印刷
¿r (àõ($ê¿¿ a¿r (àõ($ê¿¿ ¿r (àõ($ê¿¿ b¿r (àõ($ê¿¿
這裏需要大量的幫助。這將是非常感謝!
當然代碼
#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, result;
RECORD *head, *p;
head=NULL;
printf("Enter the number of characters: ");
scanf("%d", &result);
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", &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;
}
請使用代碼按鈕({})讓您的源代碼可讀。包含後顯然還有一些東西丟失了。 – user658991 2011-06-17 03:51:48
聞起來像功課給我。 – 2011-06-17 03:54:13
這是作業!我只是在尋找一些幫助 – Jennifer 2011-06-17 03:54:41