作者sleepgogo (补眠)
看板C_and_CPP
标题[问题] 有关function引出引入问题,以及dowhile的条件设定问题...
时间Thu Feb 12 22:17:37 2009
在写一个程式,是有关於猜数字的小程式
因为是初学...所以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)
1F:→ tsaiminghan:你的MAIN内没有宣告X, 就不能用X 02/12 22:40
2F:→ tsaiminghan:老实说错误很多... 02/12 22:42
3F:→ MOONRAKER:非常幽默的code 02/12 22:46
4F:→ sleepgogo:bug是在x的地方...所以我没办法传回FUNCTION的值吗? 02/12 22:59
5F:→ sleepgogo:所以我得在一开始就宣告X吗@@? 02/12 23:00
6F:→ tsaiminghan:还有你INT AB(X)原型宣告错误 02/12 23:00
7F:→ tsaiminghan:AB内FOR回圈最後依个不要大写 02/12 23:01
8F:→ tsaiminghan:RETRUN值的方法你搞错了 02/12 23:02
9F:→ tsaiminghan:回传值 = AB(...); 而不是 AB(回传值); 02/12 23:04
10F:→ tsaiminghan:AB(传入的参数); 02/12 23:04
11F:→ tsaiminghan:你需要的时拿一本C语言重新看一下 02/12 23:05
12F:→ tsaiminghan:或是找人当面讲解一下, 有些基本的东西你搞错了 02/12 23:07
13F:→ sleepgogo:找到问题了....感谢T大.. 02/12 23:17
14F:→ sleepgogo:其实我是第一次看Orz...很多都还不懂阿...囧 02/12 23:18
15F:→ sleepgogo:练习也还不够多... 02/12 23:19