当前位置:编程学习 > VC++ >>

vc++出现一点小问题

#include <stdio.h>
# include<math.h>
void main()
{int a,b,s;
int p(int);
scanf("%d,%d",&a,&b);
s=p(a)/p(b);
if(a>=0,b>=0) printf("s=%d\n",s);
else printf("error!");
}
int p(k);
int k;
{int s,i;
s=1;
for(i=1;i<=k;i++) s=s*i;
return(s);
}

 

 

--------------------Configuration: pke - Win32 Debug--------------------
Compiling...
pke.cpp
C:\Documents and Settings\XPMUser\pke.cpp(11) : error C2065: 'k' : undeclared identifier
C:\Documents and Settings\XPMUser\pke.cpp(13) : error C2447: missing function header (old-style formal list?)
Error executing cl.exe.

 

 

 

 

 

请问这两个问题如何解决?小弟五天后要考二级~~~!!!

 

 

追问:

for(i=1;i<=k;i++) s=s*i;//这里你到底想怎么样,自己想好先写嘛~---------这里是想做阶乘

int p(int);//声明放这里   -------这里可能是vc版本变了规矩也变了,参考书上的声明(貌似没有声明直接调用了)就像我一开始写的那样------------------------------非常感谢你

 

答案:

#include <stdio.h>
# include<math.h>

int p(int);//声明放这里

void main()
{int a,b,s;//如果你要输出小数用float

scanf("%d,%d",&a,&b);//用小数的话同时改%d为%f
s=p(a)/p(b);
if(a>=0,b>=0) printf("s=%d\n",s);
else printf("error!");
}
int p(int k)//这里写错了拉
{int s,i;
s=1;
for(i=1;i<=k;i++) s=s*i;//这里你到底想怎么样,自己想好先写嘛~
return(s);
}

//结论是:你还是多看看书上怎么写的.背两个实例才去考吧~

第一个问题

p(k) 里面的k没有定义

上一个:VC++编程学习资料。
下一个:关于vc++ 2008 模板

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,