DevC++编译通过,运行时提示错误,怎么解决?

#include<stdio.h>
#include<string.h>
void main()
{
  int i,j;
  int leader_id=0;
  struct person
  {
    int id;
    char name[30];
    int count;
  }
  leader[4]={{1,"张三",0},{2,"李四",0},{3,"赵五",0},{4,"刘三",0}};
  printf("请输入候选人的编号\n");
  for(i=0;i<20;i++)
  {
     scanf("%d",leader_id);
     for(j=0;j<4;j++)
     {
         if(leader_id==leader[j].id)
         leader[j].count++;
     }
  }
  printf("投票结果如下\n");
  for(i=0;i<4;i++)
  {
  printf("%d号%s获得%d张票\n",leader[i].id,leader[i].name,leader[i].count);
  } 
}

DevC++编译通过,运行时提示 process exited without return value 322212225725

scanf("%d", leader_id);

改为

scanf("%d", &leader_id);

第17行改为 scanf("%d",&leader_id); 

增加&表示传入变量leader_id的内存地址