C++函数数组做参数调用问题
例如,申明一个函数是Five::Win(char m,char a[])里面有一个if语句
if(a[i+1]==m)
{
gold1++;
if(gold1==4)return 1;
Win(m,&a[i+1]);
然后调用这个函数的时候,是n=Win('B',&a[i*16+j]);
结果不管怎么弄,n都等于1,求助!!!
追问:如果if不成立的话,后面当然是有个return 0的了,但是不管怎么样貌似都是返回1了
里面有一个if语句
if(a[i+1]==m)
{
gold1++;
if(gold1==4)return 1;
Win(m,&a[i+1]);
然后调用这个函数的时候,是n=Win('B',&a[i*16+j]);
结果不管怎么弄,n都等于1,求助!!!
追问:如果if不成立的话,后面当然是有个return 0的了,但是不管怎么样貌似都是返回1了
答案:你的程序是用来干什么的。
这是一个递归的算法,递归的终止条件是if(gold1==4)return 1;,如果你想接受函数的返回值当然是1;
你在看看题目的要求,这个函数的大致作用是对char m,char a[]进行处理。
上一个:C++程序—分数的加减乘除
下一个:学好C和C++需要多长时间?