Herkese iyi akşamlar. Çalışma amacıyla yazdığım bir kodda hata alıyorum ama hatanın sebebini bir türlü bulamadım. Büyük bir ihtimal çok basit bir hata ama gözden kaçırıyorum. Yardım ederseniz çok sevinirim.
Sorunu eleman_cikar fonksiyonunda alıyorum.
HATA
xxx\main.c In function 'eleman_cikar':
34 3 xxx\main.c [Warning] 'return' with a value, in function returning void [enabled by default]
68 1 xxx\main.c [Error] expected declaration or statement at end of input
#include <stdio.h>
#include <stdlib.h>
#define SENTINEL -1000000;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
struct eleman{
int icerik;
struct eleman* link;
};
struct eleman* eleman_olustur(int icerik){
struct eleman *e;
e=malloc(sizeof(struct eleman));
e->icerik=icerik;
e->link=NULL;
return e;
}
struct eleman* yigina_ekle(struct eleman **yigin_isaretcisi, int yeni){
struct eleman *e=eleman_olustur(yeni);
e->link=*yigin_isaretcisi;
*yigin_isaretcisi=e;
}
int yigin_bos_mu(struct eleman *yigin_isaretcisi){
if(yigin_isaretcisi==NULL) return 1;
return 0;
}
void eleman_cikar(struct eleman **yigin_isaretcisi){
if(yigin_bos_mu(*yigin_isaretcisi)){
return SENTINEL;
}else{
struct eleman *cikarilan=*yigin_isaretcisi;
*yigin_isaretcisi=(*yigin_isaretcisi)->link;
free(cikarilan);
}
void yigin_yaz(struct eleman *yigin_isaretcisi){
printf("Yigini Yaziyorum...\n");
while(yigin_isaretcisi!=NULL){
printf("%5d",yigin_isaretcisi->icerik);
yigin_isaretcisi=yigin_isaretcisi->link;
}
printf("\n");
}
int main(int argc, char *argv[]) {
struct eleman *yigin_isaretcisi;
int cikarilan;
yigina_ekle(&yigin_isaretcisi,5);
yigina_ekle(&yigin_isaretcisi,15);
yigina_ekle(&yigin_isaretcisi,25);
yigin_yaz(yigin_isaretcisi);
eleman_cikar(&yigin_isaretcisi);
yigin_yaz(yigin_isaretcisi);
eleman_cikar(&yigin_isaretcisi);
yigin_yaz(yigin_isaretcisi);
return 0;
}