題目是這樣的:
比較兩個字串,忽略大小寫,比較長度不超過n,比較順序為字典序。返回如下:
>0 s1>s2
=0 s1=s2
<0 s1
首先我們會先寫乙個函式名,我想大部分同學會寫成如下形式:
int strncompare(char *s1, char *s2, int n)
是的,我開始也是這樣寫的。可是我突然覺得可以加點什麼,因為我之前看過一篇文章:
想成為嵌入式程式設計師應知道的0x10個基本問題
那裡面講到乙個關鍵字:const.這裡就不詳細講解了。
所以正確的寫法是:
int strncompare(const char *s1, const char *s2, const int n)
關於**我現在知道我已經在筆試時寫錯了。都是平時不太注意基礎啊!
筆試和我們在電腦上寫程式完全不一樣!首先感覺就不一樣!我建議大家還是在紙上多練習練習!那是很重要和很必要的!而且一定要到達在紙上寫一遍就要保證完全正確的要求!
我現在改變了學習程式設計的方法,就是多上上自習,多寫一些往年面試的筆試題,一定要在紙上寫!這樣真的會學到很多你以前看似簡單但是不簡單的知識!!
正確的應該是:
int strncompare(const char *s1, const char *s2, const int n)
while (*s1 && *s2 && (*s1 == *s2))
return *dest - *source;
/*如果dest > source,則返回值大於0,如果dest = source,則返回值等於0,如果dest < source ,則返回值小於0。*/ }
希望可以給與賜教!謝謝! 0
給主人留下些什麼吧!~~
比較字串
其實這是在 c 從入門到精通 上摘抄的,由於不知道漢字怎麼排序,就查了查書,寫在這裡也可以幫助其他初學者更方便的找到漢字的排序方法。用於排序 int compare string str1,string str2 int compare string str1,string str2,bool ig...
字串比較
1.publicstaticbooleanisempty string str 判斷某字串是否為空,為空的標準是 str null或 str.length 0 下面是 stringutils 判斷是否為空的示例 stringutils.isempty null true stringutils.is...
比較字串
比較兩個字串a和b,確定a中是否包含b中所有的字元。字串a和b中的字元都是大寫字母 注意事項 在 a 中出現的 b 字串裡的字元不需要連續或者有序。樣例給出 a abcd b acd 返回true 給出 a abcd b aabc 返 回false 思路 題目的意思就是b中的字元要全部出現在a中,並...