老师这那里错了啊?求解
徐海鑫 正式会员 2016-06-23 07:08:44
1849 6 0

#include<stdio.h>

int fun(int n)

{ int x,i,s=0;

x=1;

while(i=n%10)

{ if(i%2==0)

{s=s+x*i;x=x*10;}

else

 n=n/10;

}}}

return(s)


main()

{int n;

scanf("%d",&n);

m=fun();

printf("%d",m);

}


问题来自: 填空题真题

共 6 个回答

    嘿嘿大人 一代宗师 3302天前

    调用函数的时候没有实参

    嘿嘿大人 一代宗师 3302天前

    还有自定义函数的大括号没有包括return语句

    赵晨 资深会员 3301天前

    什么叫调用函数的时候没有实参?哪个位置应该放实参?是不是定义函数里的都是形参,main()函数调用函数里的都是实参?

    最佳答案

    嘿嘿大人 一代宗师 3301天前

    回复 赵晨

    #include<stdio.h>


    int fun(int n)//形参


    { int x,i,s=0;


    x=1;


    while(i=n%10)


    if(i%2==0)


    {s=s+x*i;x=x*10;}


    else

    n=n/10;


    }


    return(s);

    }



    main()


    {int n,m;


    scanf("%d",&n);


    m=fun(n);//实参


    printf("%d",m);


    }

    你这个自定义函数在定义的时候有了形参,所以在调用的时候也要有实参

    定义函数位置如有参数都是形参,可以没有形参,但是有了形参就必须要有实参,调用处函数里面如果有参数那就是实参,你回头再学一学函数部分,还有代码里面其他地方还是有语法错误,因为我不知道你代码目的是什么,只帮你改下语法错误


    徐海鑫 正式会员 3301天前

    谢谢老师了

    赵晨 资深会员 3301天前

    谢谢老师

您还没有登录,所以不能回复该问题
我要回复

  • 0

    点赞

  • 扫一扫分享朋友圈

    二维码

  • 分享

相关问题