2011/01/27

C語言面試題目之二

  以下程式請寫出執行結果: 1
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void reverse(char *s) {
  int i, j;
  char c;

  for (i = 0, j = strlen(s) - 1; i < j; i++, j--) {
      c = s[i];
      s[i] = s[j];
      s[j] = c;
  }
}

int main(void) 
{
  char *s1 = "ABCDEFG";
  reverse(s1);
  return 0;
}
 執行結果會出乎一般人的意料,請試著上機執行看看! 如果您是觀念很清楚的人,也許一下子就看出問題在那裡,這題其實是在考觀念,觀念很清楚的人在實戰中就不會發生另人受不了的 bug ! 

  C語言面試題目之三 :linked list