欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 項目總結 [打印本頁]

作者: liuyy    時間: 2015-1-11 23:45
標題: 項目總結
拿到這個項目的時候,我第一反應是用鏈表嵌套鏈表的結構,這樣對于各項功能的實現都很方便,結果后來還是沒弄出來,白白浪費了一天的時間。我的邏輯思維是沒錯的,但是這個鏈表嵌套鏈表還是有很大難點的,等不忙了再研究研究。
大多數的錯誤就是段錯誤,最典型的是理武兄的問題,鏈表head沒有開空間,還有一個典型錯誤是數組賦值 ,一定要加&,不加&編譯時不會報錯,但是運行會出現段錯誤。還有就是坑了我的錯誤命令gcc –o main.c a.out –Wall。
我犯的最大的小錯誤,是在讀取文件的時候,想判斷管理員密碼是否為’”\0”,如果是”\0”,則默認初始密碼,如果不為0,則將文件中保存密碼賦值給管理員,我的源代碼是這樣的
int load(stu_t *head,char (*admin)[30]){
       stu_t*cur = NULL,*cur2=NULL;
       FILE*fp = NULL;
       charad_pass[30] = "\0";
       inti=0;
       if(NULL== head){
              return;
       }
       fp=fopen("data","a+");
       if(NULL== fp){
              fclose(fp);
              return1;
       }
       fread(ad_pass,sizeof(char)*30,1,fp);
       //讀取管理員密碼
       if(ad_pass,!= ‘\0’){
              strcpy(admin[1],ad_pass);
              for(i=0;admin[1][ i]!= '\0';i++){
                     admin[1][ i]-= 'a';
                     //管理員密碼解密,每一位減'a'
              }
       }
……省略
咋一看,覺得沒錯,編譯也沒報錯,但是就是管理員賬戶密碼一直無法登陸,后來在老師的指引下,我知道了自己犯的錯誤。其中還發現一個嚴重的問題,就是我的語言組織能力不好,不能一句話切入重點,就像毛毛說的,總是有很多鋪墊。。。。正確的代碼應該是下面這樣,ad_pass 是一個字符數組,ad_pass是首地址,我要判斷它是否為空,應該比較兩個數組才對,可是我判斷的是首地址。。。。然后就這么錯了。
if(strcmp(ad_pass,"\0") != 0){
strcpy(admin[1],ad_pass);
              for(i=0;admin[1][ i]!= '\0';i++){
                     admin[1][ i]-= 'a';
                     //管理員密碼解密,每一位減'a'
              }
還有,今天寫驗證碼函數,又寫錯了,一直提示驗證碼輸入錯誤。還有每個函數都要 有入參驗證,其他的就沒什么了,有些第一次遇到的問題,也根據自己的經驗寫出了算法。總的來說,還是相對輕松的。
還有一個面試官可能問到的問題,大概程序如下:
2.int main(){
       stu_t *user = NULL,cur = NULL;
      
if(use(create(sizeof(stu_t)))!=0){
func1();……
func2……
inserte_head(user,cur);
}
問:user是否為空?
user 沒有賦值語句,沒有開空間,當然是空的,不能被表面現象蒙蔽了雙眼。
還有一個問題,就是寫一個函數,修改指針的值,一定要是指向指針的指針。逐級加一個指針。這個是我們老師曾經這么干過,






歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1