#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;
}
两个问题:
1、2处的写法根本不是调用函数,纯粹就是个函数声明。
2、执行完1处的for循环后,i的值已经是999了。
调用函数的时候,是不需要加函数的返回类型
传的参数也不用加数据类型
改成 sx(i, B, S, G, a)
但是你的i 在sx调用前 已经是999了
在sx里面不会进入到for里面吗
在调用sx的前 i = 0;
复习复习函数怎么调用的