[問題] 存取發生錯誤
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )
遇到的問題: (題意請描述清楚)
無法評估運算式 存取發生違規
希望得到的正確結果:
程式跑出來的錯誤結果:
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
c++ 2008
有問題的code: (請善用置底文標色功能)
printf("%d", *wDeck[i].num);
補充說明:
完整程式碼http://filedeck.net/files/10BVY1TL/main.cpp
主要程式碼:
struct card {
const char *face;
const char *suit;
int *num;//判斷牌型儲存位置
};
//發三張 看是雜牌 對子 三條
void dete(Card * const wDeck)
{
int i = 0 , j ,n=0;
int num[52] = {0};//計算總數
int tempn = 0;//儲存第一次的計算總數
int times = 0;//計算迴圈跑的次數(發幾張牌 下一輪)
const char* temp = wDeck[i].face;
while(1){
for(i=n ; i < i+2 && i < 52 ; i++){//三張一輪 直到不足牌停止
const char* temp = wDeck[i].face;//第一張數值儲存下來 以便比較
for(j=i+1 ; j < i+2 && j<52 ; j++){
if(temp == wDeck[j].face){//數值相等 代表對子 總數加一
num[i]++;
}
}
if(times>=1){//三張一輪迴 所以比較第一次不用比
if(num[i-1] > num[i]){//總數變小時 儲存
num[i] = num[i-1];
}
}
wDeck[i].num = &num[i];//紀錄相同張數
times++;
if(times == 2){//比完一輪換下一輪
break;
}
}
n=n+3;
if(n>51){
n=51;
}
times = 0;
if(i >51) //發完結束
break;
}
//印出函式
void deal( const Card * const wDeck )
{
int i;
for ( i = 0; i <= 51; i++ ){
printf( "%d \t %5s of %-8s%c ", i+1, wDeck[ i ].face,
/*本來形態是指標 印出來不是位置嗎*/ 為什麼前面不用加* EX:*wDeck[i].face
wDeck[ i ].suit, '\n');
printf("%d", *wDeck[i].num);
/* 有問題程式碼 執行到i=5時 存取違規 本來*wDeck[i].num印出來的應該是
dete()函式的num[]阿(紀錄幾次相等的 以判斷牌型) 結果不是 */
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.121.214.56
推
03/18 00:36, , 1F
03/18 00:36, 1F
→
03/18 00:37, , 2F
03/18 00:37, 2F
→
03/18 00:38, , 3F
03/18 00:38, 3F
→
03/18 00:38, , 4F
03/18 00:38, 4F
→
03/18 00:41, , 5F
03/18 00:41, 5F
推
03/18 00:42, , 6F
03/18 00:42, 6F
→
03/18 00:43, , 7F
03/18 00:43, 7F
→
03/18 00:44, , 8F
03/18 00:44, 8F
→
03/18 00:45, , 9F
03/18 00:45, 9F
→
03/18 00:46, , 10F
03/18 00:46, 10F
→
03/18 00:54, , 11F
03/18 00:54, 11F
推
03/18 00:58, , 12F
03/18 00:58, 12F
→
03/18 00:59, , 13F
03/18 00:59, 13F
→
03/18 01:00, , 14F
03/18 01:00, 14F
→
03/18 01:01, , 15F
03/18 01:01, 15F
→
03/18 01:08, , 16F
03/18 01:08, 16F
→
03/18 01:08, , 17F
03/18 01:08, 17F
推
03/18 01:15, , 18F
03/18 01:15, 18F
→
03/18 01:16, , 19F
03/18 01:16, 19F
→
03/18 01:16, , 20F
03/18 01:16, 20F
→
03/18 01:17, , 21F
03/18 01:17, 21F
→
03/18 01:18, , 22F
03/18 01:18, 22F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章