| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1202 人关注过本帖
标题:C语言问题中的递归
只看楼主 加入收藏
新手啊啊啊啊
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2015-7-27
结帖率:0
收藏
已结贴  问题点数:10 回复次数:14 
C语言问题中的递归
#include<stdio.h>
int fun(int x)
{
    int k;
    if(i==0)
    {
        k=k*1;
    }
    else
    {
        k=fun(i-2)+i;
    }
    return k;
}
void main()
{
    void fun(int x);
    int i=100;
    int sum;
    sum=fun(i);
    printf("sum=%d",sum);
}
为什么我这段代码不可以生成,求助
搜索更多相关主题的帖子: return C语言 
2015-08-07 11:23
sunbeam_
Rank: 3Rank: 3
来 自:我家
等 级:论坛游侠
威 望:1
帖 子:31
专家分:113
注 册:2015-8-2
收藏
得分:2 
fun(int x);这个函数声明的时候是void类型的  定义的时候又是int类型的

话说你编译器有报错么  记得把错误信息贴出来

爱好计算机的电气学渣
2015-08-07 11:25
scanf_newbie
Rank: 1
等 级:新手上路
帖 子:3
专家分:4
注 册:2015-8-6
收藏
得分:0 
# include <stdio.h>

int fun(int x)
{
    int i;
    int k;

    if (i == 0)
    {
        k = k * 1;
    }
    else
    {
        k = fun(i - 2) + i;
    }

    return (k);
}

int main(void)
{
    int i;
    int sum;
   
    i = 100;
    sum = fun(i);

    printf("sum = %d\n", sum);

    return;
}
/*可以对比下,但是这段代码即使语法没错,调试的时候是会崩溃的*/

求知若饥。
2015-08-07 12:27
hjx1120
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
收藏
得分:2 
A,自定义函数没有类型·B,自定义函数传入的参数莫名失踪
2015-08-07 13:00
怪叔叔
Rank: 4
来 自:陕西
等 级:业余侠客
威 望:1
帖 子:113
专家分:234
注 册:2013-9-22
收藏
得分:2 
什么乱七八糟的吗!main里定义了一个i,i=100;
fun(int x)里的i是main里的吗?为啥调用fun(i)
没发现那个形参x就没用到吗?自己仔细再检查检查你的程序
2015-08-07 13:06
新手啊啊啊啊
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2015-7-27
收藏
得分:0 
回复 2楼 sunbeam_
对啊对啊 大神 我也是电气的
2015-08-07 15:19
新手啊啊啊啊
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2015-7-27
收藏
得分:0 
回复 5楼 怪叔叔
好的  谢谢
2015-08-07 15:20
新手啊啊啊啊
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2015-7-27
收藏
得分:0 
回复 3楼 scanf_newbie
那这个为什么会错
#include<stdio.h>
#include<iostream>
long fun(int x)
{
    long k;
    if(x<=0)
    {
        x=0;
    }
    else
    {
        k=fun(x-2)+x;
    }
    return k;
}
void main()
{
    int x=100;
    long sum=0;
    sum=fun(x);
    printf("sum=%1d",sum);
    system("pause");
}
2015-08-07 15:29
新手啊啊啊啊
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2015-7-27
收藏
得分:0 
回复 4楼 hjx1120
我想到了一些 但现在可能因为那些参数的类型问题搞到现在是可以生成 但是调试的时候生成一堆乱数字
我的代码是这样的 麻烦再帮我看看

#include<stdio.h>
#include<iostream>
long fun(int x)
{
    long k;
    if(x<=0)
    {
        x=0;
    }
    else
    {
        k=fun(x-2)+x;
    }
    return k;
}
void main()
{
    int x=100;
    long sum=0;
    sum=fun(x);
    printf("sum=%1d",sum);
    system("pause");
}
2015-08-07 15:37
ditg
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:16
帖 子:852
专家分:1937
注 册:2014-4-10
收藏
得分:2 
题目描述也没有,谁知道怎么改呀

long fun(int x)
{
    if(x<=0) return 0;
    return fun(x-2)+x;
}

(借个地儿向hjx1120致歉,错过给你投票,以后一定补上。)


[ 本帖最后由 ditg 于 2015-8-7 18:07 编辑 ]

梦想拥有一台龙芯3A-4000
2015-08-07 18:03
快速回复:C语言问题中的递归
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032383 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved