24小时热门版块排行榜    

查看: 317  |  回复: 1

好好努力

金虫 (正式写手)

[求助] 多个形参未能接受实参值

今天编了个小程序,六面体各个顶点的各放置一个整数,判断6个面的4个数之和是不是都一样,下面是我编的:
#include


int add1(int n1,int n2,int n3,int n4,int b1,int b2,int b3,int b4);
int main(void)
{
    int a1,a2,a3,a4,a5,a6,a7,a8;
        int stata1,stata2,stata3,stata4,stata5 ;
        printf("please enter 8 int numbers!\n" );
    scanf("%d,%d,%d,%d,%d,%d,%d,%d",&a1,&a2,&a3,&a4,&a5,&a6,&a7,&a8);


   
   stata1=add1(a1,a2,a3,a4,a3,a4,a7,a8); //前后比较
    stata2=add1(a3,a4,a7,a8,a1,a3,a5,a7);  //后左比较
    stata3=add1(a1,a3,a5,a7,a2,a4,a6,a8);  //左右比较
    stata4=add1(a2,a4,a6,a8,a5,a6,a7,a8);   //右上比较
    stata5=add1(a5,a6,a7,a8,a1,a2,a3,a4);   //上下比较

        if(stata1&&stata2&&stata3&&stata4&&stata5)
                printf("those numbers can make a special cube!" );
        else
                printf("cannot!" );

return 0;


}


int add1(int n1,int n2,int n3,int n4,int b1,int b2,int b3,int b4)
{

          if((n1+n2+n3+n4)==(b1+b2+b3+b4))
                  return 1;
else return 0;
}
     调试的时候进入add1函数,发现就只有n1接受了实参的值,其他的形参没有接受,所以就得不出正确的输出结果。
     怎么回事啊?

[ Last edited by 好好努力 on 2011-9-10 at 14:43 ]
回复此楼
好好就好!!!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)


xzhdty(金币+1): 欢迎常来 2011-09-10 19:43:42
CODE:
scanf("%d,%d,%d,%d,%d,%d,%d,%d",&a1,&a2,&a3,&a4,&a5,&a6,&a7,&a8);

这句之后,printf看看a1到a8是不是已经成功赋值了

估计是你键盘输入的时候,数字与数字之间没有注意用,号隔开
2楼2011-09-10 14:46:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 好好努力 的主题更新
信息提示
请填处理意见