一个简单的c程序,帮忙看上吧,错在哪

一个简单的c程序,帮忙看下吧,错在哪?
一个有'升序'的数组 x[n], 计算 x[0]+x[1]+...x[i]和 x[k]+x[k+1]+...x[n-1] 相等的总个数,gcc编译器,未报错, 但显示不出结果来。 


  1 #include<stdio.h>
  2 
  3 int num(int [], int n);
  4 
  5 int main()
  6 {
  7         int x[100];
  8         int i;
  9         for( i = 0; i < 100; i++ )
 10                 x[i] = i;
 11 
 12         printf("%d\n",num( x,100));
 13 }
 14 
 15 int num(int x[], int n)
 16 {
 17         int j, k, sum;
 18         j = k = sum = 0;
 19 
 20         int pre_sum = x[j];
 21         int suf_sum = x[99-k];
 22 
 23         while( j < 100 && k < 100)
 24         {
 25                 if (pre_sum > suf_sum)
 26                 {
 27                         k++;
 28                         suf_sum += x[99-k];
 29                 }
 30                 else if(pre_sum < suf_sum)
 31                 {
 32                         j++;
 33                         pre_sum += x[j];
 34                 }
 35                 else
 36                         sum++;
 37         }               
 38         return sum;
 39 }
 40 
c

------解决方案--------------------
死循环, 到这里i,j都不动了: