안녕하세요, 내 코드에 문제가 있습니다.이 오류를 보여줍니다. "Segmentation fault : 11"여기 내 코드입니다. 10 진수로 이진 연결 목록을 변환하는 프로그램을 만들려고합니다. 에서 CC에서 연결된 목록으로 이진수로 10 진수로 변환
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
typedef struct cellule{
int b;
struct cellule* Next;
}Cellule;
typedef Cellule* liste;
int BinToEntier(liste a){
int n;
int j=0;
liste p=NULL;
for (p=a; p->Next!=NULL; p=p->Next) {
n+=(p->b)*pow(2,j);
j++;
}
return n;
}
int main() {
liste a=NULL;
liste p;
a= (liste) malloc(sizeof(Cellule));
p=a;
for (int i = 0; i < 4; i++) {
puts("enter b");
scanf("%i", &(p->b));
p=p->Next;
}
printf("%i\n", BinToEntier(a));
return 0;
}
스택 오버플로에 오신 것을 환영합니다! ['malloc()'과'C'의 패밀리의 반환 값을 왜 던지지 말아야하는지에 대한이 토론을보십시오.] (http://stackoverflow.com/q/605845/2173917). –