#include<stdio.h>
#include<math.h>
main()
{
int m;
printf("please input number:\n");
scanf("%d",&m);
sun(m);
printf("m=%d\n",m);
}
int sum(int m)
{
for(i=m-1;i>=1;i--)
m=m+1;
printf("m=%d\n",m);
}
tc\13\13.cpp(8) : error C2065: 'sun' : undeclared identifier
C:\tc\13\13.cpp(10) : warning C4508: 'main' : function should return a value; 'void' return type assumed
C:\tc\13\13.cpp(13) : error C2065: 'i' : undeclared identifier
执行 cl.exe 时出错.
13.exe - 1 error(s), 0 warning(s)
帮忙解释下这个怎么改!小弟是新手 呵呵谢谢了!
----------------解决方案--------------------------------------------------------
首先你的sum()函是在主函数以后定义的调用语句在定义语句前要先声明函数才能调用,或者把函数定义放在主函数前
然后,你的i变量没有定义,程序就没有给它分配空间,你怎么能试图给它赋值呢
接着,你的sum()当然也因为i的问题而没有返回值喽!还有不知道你包含manth.h有什么意义,你用到数学函数了吗,很明显,没有啊!还是要多看书啊!
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<math.h>
void main()
{void sum(int m);
int m;
printf("please input number:\n");
scanf("%d",&m);
sum(m);
}
void sum(int m)
{int i;
for(i=m-1;i>=1;i--)
m=m+1;
printf("m=%d\n",m);
}
----------------解决方案--------------------------------------------------------
忘了把#include<math.h>去掉了
----------------解决方案--------------------------------------------------------
谢谢两位大虾 呵呵!!
受益了!!
----------------解决方案--------------------------------------------------------
或者,#include<stdio.h>
int sum(int m);
main()
{
int m;
printf("please input number:\n");
scanf("%d",&m);
sun(m);
printf("m=%d\n",m);
}
int sum(int m)
{
for(i=m-1;i>=1;i--)
m=m+1;
printf("m=%d\n",m);
}
----------------解决方案--------------------------------------------------------