このプログラムは入力をスキャンし、Cのリンクリストの概念を使用して出力します。プログラムは入力をスキャンし、 ' - 'を検出すると停止します。問題は、入力を逆に印刷することです。私はすべてを逆にする別の機能を実装したくありません。私はエラーがどこにあるのかわかりません。リンクされたリストはC言語で逆に印刷されます
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct student {
char name[64];
unsigned long long student_number;
struct student *next;
} student;
int main()
{
student *curr_stdptr;
student *hd_stdptr = NULL;
int i,x,y;
char input[70];
char in_name[60];
for(i=0;i<6;i++) {
curr_stdptr = (student *)malloc(sizeof(student));
curr_stdptr->next = hd_stdptr;
hd_stdptr = curr_stdptr;
fgets(input,60,stdin);
for(x=0;input[x]!='-';x++)
hd_stdptr->name[x] = input[x];
hd_stdptr->name[x] = '\0';
}
while(curr_stdptr!=NULL) {
printf("%s\n",curr_stdptr->name);
curr_stdptr=curr_stdptr->next;
}
}
問題の内容がわからないため、エラーの原因がわかりません。 – Lee
@ OPの部分には言葉の貧弱な選択肢があります。問題は明確に述べられています:「問題は、入力を逆に印刷することです」。その目的は、同じ入力順で印刷することです。 – WhozCraig
あなたのコードを他の人に読ませてもらうようにしてください。できるだけ少なくしてください。 – davmac