鱼C论坛

 找回密码
 立即注册
查看: 2580|回复: 5

哪错了啊?

[复制链接]
发表于 2018-10-16 23:14:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
int a,z;
int fuck();
int fuck()
{
        if(a>1)
        {
                z=z*a;
                a--;
                fuck();
        }
}

       
int main()
{
        printf("qing shu ru yi ge shu zi:");
        scanf("%d",&a);
        fuck();
        printf("%d\n",z);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-10-16 23:20:50 | 显示全部楼层
z初始化

#include<stdio.h>
int a,z;
int fuck();
z=1;
int fuck()
{
        if(a>1)
        {
                z=z*a;
                a--;
                fuck();
        }
}

        
int main()
{
        printf("qing shu ru yi ge shu zi:");
        scanf("%d",&a);
        fuck();
        printf("%d\n",z);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-17 10:29:03 | 显示全部楼层
1.数据初始化问题,详见楼上;
2.int fuck(); 很明显你的代码实现中,这个函数是没有返回值的,返回值改成void类型。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-17 10:32:02 | 显示全部楼层
z没有初始值,z=z*a,用z*a,只知道a的值,没有z的值怎么计算?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-17 15:08:34 | 显示全部楼层
z定义为全局变量,系统自动初始化为0.所以你的程序结果是0。
另外写程序多关注一下风格问题。函数名的命名,提示语,定义函数类型了相对应的返回值。。。等等
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-17 18:45:05 | 显示全部楼层
#include <iostream>
using namespace std;

static int a;
static int z = 1; // 你没有初始化全局变量 z 的值
void fuck(); // 函数的如果不返回任何值的话,最好设置为void

int main(){
        cout << "Enter a number: ";
        cin >> a;
        fuck();
        cout << z << endl;
} 

void fuck(){
        if (a > 1){
                z *= a;
                a--;
                fuck();
        }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-2 18:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表