标题:一道简单的题目,求解哪里错了
只看楼主
somehow1002
Rank: 2
等 级:论坛游民
帖 子:14
专家分:45
注 册:2014-11-4
结帖率:100%
 问题点数:0 回复次数:3 
一道简单的题目,求解哪里错了
//求前n项的和,函数调用哪里错了//
#include <stdio.h>
void main()
{
    int i;
    int sum(int n);
    printf("请输入一个数:\n");
    scanf("%d",&i);
    sum(i);
    printf("前%d项的和为:%d\n",i,sum);
}
int sum(int n)
{
    int i;
    if (i==1) n=1;
    else n=sum(n-1)+n;
    return n;
}
//错误提示如下warning C4700: local variable 'i' used without having been initialized//
搜索更多相关主题的帖子: include warning without return having 
2014-12-01 10:13
Espierenergy
Rank: 2
等 级:论坛游民
帖 子:6
专家分:25
注 册:2014-11-29
得分:0 
/*代入子函数“sum”计算并返回结果!*/
#include <stdio.h>
void main()
{
    int i, c;
    printf("请输入一个数:\n");
    scanf("%d", &i);
    c = sum(i, i);
    printf("前%d项的和为:%d\n", i, c);
}

int sum(int n, int i)
{
    if (i == 1)
        n = 1;
    else
        n = n * n + n;
    return n;
}
2014-12-01 10:54
跳跳海牛
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-12-1
得分:0 
错误是你没有初始化i,还有你不可以直接把函数名放到printf中,应该把返回值放回一个变量中;最好用int main(void)
不要用void main(),i在main()和sum()函数中是不可以互用的他们都是本地变量,你可以把他放出函数体。
2014-12-01 11:04
w15215256447
Rank: 1
等 级:新手上路
帖 子:4
专家分:2
注 册:2014-11-30
得分:0 
说的太好;
2014-12-01 13:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-439406-1-1.html




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

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