[問題] 邏輯錯誤--EmpNum[1]老是印出0
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )
遇到的問題: (題意請描述清楚)
我寫了三個檔案
statFile.c
http://paste.bradleygill.com/index.php?paste_id=36387
ReadIn.h
http://paste.bradleygill.com/index.php?paste_id=36388
statFile.h
http://paste.bradleygill.com/index.php?paste_id=36389
其中statFile.h中的EmpNum[1]是用來統計檔案中' '個數的
照理說應該是2
為什麼我老是印出0
希望得到的正確結果:
印出的結果為
EmpNum=2EmpNum=2
程式跑出來的錯誤結果:
EmpNum=2EmpNum=0
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
Dev c++
有問題的code: (請善用置底文標色功能)
while(fgets(Str,1000,fp1)!=NULL){
lineNum++;
if(Str[strlen(Str)-1]=='\n'){
charNum[lineNum-1]=strlen(Str)-1;
}else{
charNum[lineNum-1]=strlen(Str);
}//end else
//printf("****%d****%d",lineNum,charNum);
tmp='1';//重設tmp
while(tmp!='\n' && tmp!='.'){
tmp=Str[i];
i++;
if(tmp==' ')
EmpNum[lineNum-1]++;
}//end while-tmp
printf("EmpNum=%d",EmpNum[lineNum-1]);
}//end while-fgets
補充說明:
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.123.129.60
※ 編輯: chessjim 來自: 122.123.129.60 (06/01 04:47)
→
06/01 10:37, , 1F
06/01 10:37, 1F
→
06/01 11:04, , 2F
06/01 11:04, 2F