注册 登录
编程论坛 C语言论坛

有没有大佬帮忙看看这个问题 能编译 无法执行

lan797597 发布于 2020-04-23 21:39, 1753 次点击
#include <stdio.h>

main()
{
    int n;
    printf("input number\n");
    scanf("%d",&n);
    s(100);
    printf("n=%d\n",n);
}
int s(int n)
{
    int i;
    for(i=n-1;i>=1;i--)
        n=n+i;
    printf("n=%d\n",n);
}
4 回复
#2
lan7975972020-04-23 21:41
main 括号里面是不是声明?  s是不是没有定义所以不行?
#3
r3169994432020-04-23 21:59
int s(int n)声明!还有应该是用void s()

[此贴子已经被作者于2020-4-23 22:09编辑过]

#4
新月bo2020-04-24 12:22
函数调用前要先声明,头文件和main中间加上:int s(int n);
看你的意思是想要输出函数返回值,但你main函数里面有printf,函数s里面也有个printf就重复了
如果要把函数返回值打印出来,可以printf("%d",s(n));
你这样传进函数的参数是形参,n是改变不了的。
#5
lan7975972020-04-24 21:05
可以运行了  谢谢两位大佬
1