1. "估計遇到這樣的for語句,在某些大公司是會被警告直至走人的。
干嘛非要放到括號里完成呢?"
---------------------------
答: 面試惹的禍, 有的面官就要你用兩行最多三行寫完成某一功能的函數(shù). 咱又不是不會用所謂"好"風格的for和while. 它需要啥咱就給它啥, 咱要工作! 它不需警告, 只要它皺眉頭, 咱就改, 咱還不是給逼的嗎?
2. "另外,字符數(shù)組你這程序是不能用的。
我給你一個測試用例:
char arr[5] = {'H', 'e', 'l', 'l', 'o'};
------------------------------------------
答: 提的好, 它沒有第六個字節(jié)放'\0'! 我指的是:
char arr[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
char arr[] = "Hello";
這樣的"串"形字符數(shù)組, anyway you're a careful guy!
3. "BTW,你如果要指定是C++,那么,C++中已經(jīng)有reverse函數(shù)(頭文件algorithm):
reverse(str, str+strlen(str)-1);
而交換變量,也有swap函數(shù)(頭文件algorithm):
swap(*head++, *tail--);
-----------------------------------------
答: 哈, 我沒指傳統(tǒng)C++, 或STL式C++, 看看頭文件就知道了:)
在C中就有標準庫函數(shù): char* strrev(char* str);
可以直接調用滴, 我只是練手^_^ (BTW, 現(xiàn)在嵌入式開發(fā)可以用C++(以前只許ams和C哦), 但還不允許C++標準庫STL), 不知貴公司的情況了:)
4. 歡迎沐楓兄多指教, 謝了!
回復 更多評論