質問: struct cell { char c; struct cell *next; }; struct cell *stack=NULL,*p; void push(char data){ printf("dd%c\n",data); p==(struct cell*)malloc(sizeof(struct cell)); printf("fff\n"); p->c=data; printf("fff\n"); p->next=NULL; printf("fff\n"); p->next=stack; printf("fff\n"); stack=p; printf("fff\n"); printf("%c\n",p->c ); } int main(void){ char *s1 ="pop"; char *s2 ="end"; char *s3; char in[10]; printf("pushする文字又はpop/endを入力してください-->"); scanf("%s",in); printf("%s\n",in ); s3=in; if (strcmp(s1,s3)==0){ printf("aaaa\n"); //pop(); } else if(strcmp(s2,s3)==0){ printf("sss\n"); exit(1); } else if(strlen(in)!=1){ printf("不正な入力です\n"); printf("スタックを空にしました\n"); } else{ printf("eeee\n"); push(in[0]); } return 0; } ### 試したこと ここに問題に対して試したことを記載してください。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答: エラーメッセージを記載しましょう! イコールが1つ多いです。 > > p==(struct cell*)malloc(sizeof(struct cell)); > > > p=(struct cell*)malloc(sizeof(struct cell)); コンパイルは修正前でも通りますよ。 p と mallocを同値評価していると解釈します。