请大神看一下,小弟我的这个代码为什么会出错

请大神看一下,我的这个代码为什么会出错?
我不知道为什么我的这个代码最简单的数字都会造成Dev崩溃?直接造成软件强制退出。请大神给看一下,谢谢了[code=c#
include<stdio.h>

  void sum (int i ,int a);
   int main()
   { 
       int n,a;
   int i=2;
       scanf("%d",n);
   sum (i,n);
       if(sum==0){
        printf("%d=%d",n,n);
   }else{
    printf("%d=",n);
    }
   
       return 0;                                 
   }
  void sum (int i,int n)
 {
  int a;
   for(i=2;i<n;i++){
if(n%i==0){ 
    a=1;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
}
   }a=0;
  }][/code]
------解决思路----------------------
 scanf("%d",&n); 
------解决思路----------------------
什么鬼,拿函数名来做条件判断
------解决思路----------------------
printf里面的%和变量的一一对应关系
scanf里面的%和变量以及变量前加不加&的一一对应关系
是C代码中非常容易出错的地方,而且通常编译还不出错。
所以在编译源代码之前值得专门仔细检查一遍甚至多遍。

崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。