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

谁能帮我看看这个问题

aasdqwe001 发布于 2019-09-13 20:21, 3355 次点击
#include <stdio.h>
void main()
{
int n;
printf("input number\n");
scanf("%d".&n);
s(n);
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);
}

运行不了,有错误,找不到
12 回复
#2
zbjzbj2019-09-13 20:52
明白大括号是干什么的吗?你的大括号怎么那么不配套?好好看看课本吧。
#3
自学的数学2019-09-13 21:00
你想达到什么样的效果?
#4
c小白23332019-09-14 19:10
scanf("%d", &n);
里面的是“,”
{
int s(int n)
}
这个没看懂
#5
aasdqwe0012019-09-14 21:22
我也没有看懂这个程序,说是学习形参的,按照书上敲没有效果
#6
c小白23332019-09-14 21:25
回复 5楼 aasdqwe001
你应该哪里看错 敲错了
形参不是这么定义的
方便的化可以把你看到的图发下
#7
c小白23332019-09-14 21:28
形参只在有效的空间内有效
比如
你在{ }里定义一个参数
不借用指针你也只能在{ }里面使用遍历它
一旦出了{}这个形参就会被释放了
#8
书生牛犊2019-09-16 00:33
我猜书上的代码应该是这样的

程序代码:
#include <stdio.h>
void main()
{
int n;
printf("input number\n");
scanf("%d".&n);
s(n);
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);
}




#9
andrewkewang2019-09-16 12:53
回复 8楼 书生牛犊
赞同
#10
wlcsss1232019-09-16 16:35
s函数,最后printf 改成return n;  s函数返回一个整形数据  在main函数中创建一个整形变量保存   大括号好像也不匹配
#11
wlcsss1232019-09-16 16:38
回复 11楼 wlcsss123
这个函数是求1+2+3+4+....+n
#12
yuelaiyuehei2019-09-17 23:27
你定义的函数放在后面干嘛?先定义后引用,前面引用的话要带类型符
#13
L199799412522019-09-17 23:41
程序代码:
#include <stdio.h>
void main()
{
int n;
printf("input number\n");
scanf("%d".&n);
s(n);
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);
}

红色字体的那里有错,因为要先定义函数s,才可以使用s,
你这里都没定义,突然来一句,计算机是不认的,你可以这么改,
一、将函数是s放在主函数之前,
二、先声明函数s,就是在int n前面加一句int s(int n);
1