wafakf 2021-01-16 17:22 采纳率: 100%
浏览 2230
已采纳

为什么我C语言的自定义函数被直接跳过不执行了?

#include<stdio.h>
void sx(int i,int B,int S,int G,int a[])
{    
for(i=0;i<999;i++){
        B=a[i]/100;
        S=a[i]/10%10;
        G=a[i]%10;
        if(a[i]==(B*B*B+S*S*S+G*G*G)&&B!=0){
            printf("三位数的水仙花数是: %d \n",a[i] );
            
        }
    }
}
int main()
{
    int i=0,n=1,B,S,G;
    int a[999]={0};
    for(i=0;i<999;i++){
        a[i]=n;
        n++;
    }
    void sx(int i,int B,int S,int G,int a[]);
    
    return 0;
    
}

  • 写回答

3条回答 默认 最新

  • 云中小筑 2021-01-16 17:39
    关注

    两个问题:

    1、2处的写法根本不是调用函数,纯粹就是个函数声明。

    2、执行完1处的for循环后,i的值已经是999了。

     

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效