• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

例题在Visual studio中实现有问题?问题在else那里,通不过。怎么办?

#include
int factorial(int n)
{
    int result;
    if (n < 0)
    {
        printf("%s\n", "输入错误");
        return 0;
    }
    else if (n == 0 || n == 1);
    {
        result = 1;
    }
    else (n > 1)
    {
        result = factorial(n - 1)*n;
    }
    return result;
}
int main()
{
    int n = 5;
    printf("%s\n", "%d的阶乘=%d", n, factorial(n));
    return 0;
}

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与5


  • 首先第七行,%s是输出字符,也就是要有变量跟%d那样的用法,是输出控制,你可以直接这样输出
    printf( "输入错误");输出提示信息就可以.

  • 还有第十四行,这个else其实后面不用加(n>1)了,else就行,所有的if跟else都不能加分号
  • 最后主函数的那句输出,你也是滥用了%s,你继续学习下一节应该就懂了.

使用道具 举报

else后面能直接带上条件么?else (n > 1),可以改成else if(n > 1)

使用道具 举报

else if ...后面多了个分号

使用道具 举报

#include
int factorial(int n)
{
int result;
if (n < 0)
{
  printf("%s\n", "输入错误");
  return 0;
}
else if (n == 0 || n == 1)
{
  result = 1;
}
else if (n > 1)
{
  result = factorial(n - 1)*n;
}
return result;
}
int main()
{
int n = 5;
printf("%d,n阶乘=%d\n", n, factorial(n));
return 0;
}

使用道具 举报

怎么办?看运行报错信息指示的那一行,或则前后几行。你已经说是else 出错了,就查看下if …else 结构是否完整。

使用道具 举报

发新帖

发布任务需求已有1031289位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!