ファイルからデータをリストに読み込みます。リンクされたリスト-1ノードを前面に追加
私は私が読んで、リストの先頭に追加する。
挿入が動作しているようですが、私の印刷機能は、-1のリターンが発生します。 これは私のコードです:
#include <stdio.h>
#include <stdlib.h>
これが私のリストである
typedef struct node{
int x,y,v;
struct node* next;
}node;
これは私のインサートである:
node* insert(node* L, int x, int y, int v){
node* new= (node*)malloc(sizeof(node*));
new->x = x;
new->y = y;
new->v = v;
new->next=NULL;
if(L==NULL){
L=new;
}
else{
new->next=L;
L=new;
}
return L;
}
問題はここにあると思われる:
void printList(node* L){
node* c=NULL;
c=L;
while(c != NULL){
printf("x=%d, y=%d, v=%d\n", c->x, c->y, c->v);
c=c->next;
}
}
メイン:
int main(int argc, char* argv[]){
FILE* in;
int h, w;
int x, y, v;
in = fopen(argv[1], "r");
if(in == NULL)
{
puts ("cannot open file") ;
exit(0) ;
}
fscanf (in, "%d,%d\n", &h, &w);
printf("%d,%d\n", h, w);
node* L=NULL;
while(!feof (in)){
fscanf (in, "%d,%d,%d\n", &x, &y, &v);
L=insert(L, x, y, v);
//printf("x=%d, y=%d, v=%d\n", L->x, L->y, L->v);
//printf("%d,%d,%d\n", x, y, v);
}
printList(L);
return 0;
}
どうしたのですか?
+1の 'new'キーワード – ouah