张世来4610484 发表于 2020-2-25 21:53:55

帮忙找错

这样的一段代码,完全按照书上打的,但是编译出了错误,我就加上了 return n;
但是运行的时候输入了数又没反应,请各位指导下错在哪,还有就是int型的函数,必须要加返回值吗,
书上也没有加啊,为什么翻译会错呢
#include <stdio.h>
int s(int n);
void main ()
{
        int n;
        printf("input number \n");
        scanf("%d",&n);
        s(n);
        printf("n=%d",n);
}
int s(int n)
{
        int i;
        for(i=n-1;i>=i;i--)
                n=n+i;
        printf("n=%d\n",n);       
}

4goodworld 发表于 2020-2-25 22:04:10

第一个问题:
int s(),这个有返回值,但是你没有
第二个问题:
i=n-1;i>=i;i--
其中i>=i是什么操作?
第三个问题:
你既然想让参数作为返回值来运用,请记得使用指针,不然你这个s(n)应该得不到你要结果
最后,提问的时候,不仅要把代码附上,还请将问题也说清楚,比如你要干什么、通过程序实现什么效果

张世来4610484 发表于 2020-2-25 22:24:02

4goodworld 发表于 2020-2-25 22:04
第一个问题:
int s(),这个有返回值,但是你没有
第二个问题:


好的 ,谢谢,刚来这还不太懂,没有看懂你的第三个问题,如何使用指针,返回reurn n;有什么问题吗

4goodworld 发表于 2020-2-25 22:37:04

张世来4610484 发表于 2020-2-25 22:24
好的 ,谢谢,刚来这还不太懂,没有看懂你的第三个问题,如何使用指针,返回reurn n;有什么问题吗

我的意思是,如果你不return n,那么就可以用指针来实现
页: [1]
查看完整版本: 帮忙找错