看板 C_and_CPP 關於我們 聯絡資訊
在寫一個程式,是有關於猜數字的小程式 因為是初學...所以function的引出引入值一直有問題... 以致不斷的有bug出現,主體使用dowhile迴圈設定打算再call ab時 引入x的值也就是4A時,導入while內就能結束 不過目前一直慘烈失敗阿...........囧 能否拜託各位高手解救,在這邊先謝謝大家了 以下附上原始碼: #include<stdio.h> #include<stdlib.h> #include<conio.h> //#define int ab(x); int main(void) { int i=1,real[4]={0,1,2,3},test[4]; do{ if(i>10) {printf("你輸了,處罰是今天回家要洗碗!!"); break;} printf("請輸入4個介於0~9之間的數字,不可重複:\n"); test[0]=getch(); putchar(test[0]); test[1]=getch(); putchar(test[1]); if(test[1]==test[0]) {printf("不可重複\n"); continue;} test[2]=getch(); putchar(test[2]); if(test[2]==test[0]||test[2]==test[1]) {printf("不可重複\n"); continue;} test[3]=getch(); putchar(test[3]); if(test[3]==test[0]||test[3]==test[1]||test[3]==test[2]) {printf("不可重複\n"); continue;} ab(x); printf("這是第%d次嘗試\n",i); i++; }while(x!=4); system("pause"); return 0; } int ab(int test[4],int real[4]) { int w,z,x=0,y=0; for(w=0;w<4;W++) for(z=0;z<4;Z++) if(real[w]==test[z]) if( w == z ) x++; else y++; printf(" %d A %d B",x,y); if(x==4) printf("you win!!"); return x; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.137.76.153 ※ 編輯: sleepgogo 來自: 220.137.76.153 (02/12 22:22)
tsaiminghan:你的MAIN內沒有宣告X, 就不能用X 02/12 22:40
tsaiminghan:老實說錯誤很多... 02/12 22:42
MOONRAKER:非常幽默的code 02/12 22:46
sleepgogo:bug是在x的地方...所以我沒辦法傳回FUNCTION的值嗎? 02/12 22:59
sleepgogo:所以我得在一開始就宣告X嗎@@? 02/12 23:00
tsaiminghan:還有你INT AB(X)原型宣告錯誤 02/12 23:00
tsaiminghan:AB內FOR迴圈最後依個不要大寫 02/12 23:01
tsaiminghan:RETRUN值的方法你搞錯了 02/12 23:02
tsaiminghan:回傳值 = AB(...); 而不是 AB(回傳值); 02/12 23:04
tsaiminghan:AB(傳入的參數); 02/12 23:04
tsaiminghan:你需要的時拿一本C語言重新看一下 02/12 23:05
tsaiminghan:或是找人當面講解一下, 有些基本的東西你搞錯了 02/12 23:07
sleepgogo:找到問題了....感謝T大.. 02/12 23:17
sleepgogo:其實我是第一次看Orz...很多都還不懂阿...囧 02/12 23:18
sleepgogo:練習也還不夠多... 02/12 23:19