1. 程式人生 > >小小的寫程式碼時的語法重新發現

小小的寫程式碼時的語法重新發現

今天寫了一道通過率最高的題,caicaicaicaicaicai............................

雖然很簡單,但是還是發現了一些新的知識點,嗯,還很差。。。。。

例如:

1.

我用一個數組a[26]來記錄26個字母在字串中哪些是出現過的。,並且下面判斷字串S(含有大小寫字母)中的字母是否在上一個字串中出現過。

但是一開始的時候總是反映陣列越界。。。。。。。。,我慌了,這。。。沒錯啊。。。。

一開始的時候我寫成了這樣                                  if (a[S[i]-'a']!=0&&S[i]>='a'&&S[i]<='z')
                                                                                                   cnt++;

這樣就一定會報錯,因為當S[i]是一個大寫字母時候,S[i]-'a'是一個負數,也就是說這時候 a[S[i]-'a'] 肯定是錯誤的。

這個時候只要將判斷語句放在後面就可以了。   if (S[i]>='a'&&S[i]<='z'&&a[S[i]-'a']!=0)  這樣當S[I]是大寫的時候在前面的判斷條件就會被卡住,從而不會再進行到下面的 a[S[i]-'a']!=0 ,這其實就是 C++中的斷路特性。

2.

C++中字串中的長度函式的首字母是小寫的。   str.length()   這樣的寫法,在java中好像是str.Length   弄混了,弄混了。。。。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

今天老鄉聚會,發現了學長學姐太牛了吧,南大,中科大,中山,北師範。。。。。。。。。。看看他們的現在的生活真幸福。。。。自己累成狗,現在都零點37了,還沒睡呢.  

我會變強,可惜不是你。