The difficulties and their solution in program design of C were discussed in detail in this paper, which include comparison operation, array, function and pointer etc. In C, the superfluous data which are left in buffer should be cleaned up by fflush() in time; dynamical storage of array was completed using pointer variable though the length of array is changeless; the array as formal parameter of function can be used as pointer,but they are pointer actually not pure array.