请问我的程序有什么错误 为什么输出是0.0?

输入一个4行4列的单精度数组,计算主对角线元素之和,保留1位小数输出。


#include
  main()
{
  float a[4][4];
  int i,j,sum=0;
  for(i=0;i<4;i++)
  {
    for(j=0;j<4;j++)
    {
    scanf("%f",&a[i][j]);
    }
  }
  for(i=0;i<4;i++)
  {
     sum=sum+a[i][i];
  }
  printf("%.1f\n",sum);
}

printf("%.1f\n",sum); sum是int类型,不能用%f输出。将sum改成float类型就行了

sum 是int类型,改成float