关于c语言实现一个函数功能的问题。想实现function功能,在vc中编译。

您好!我遇到了关于c语言实现一个函数功能的问题。我是初学者,想实现这个功能,在vc中编译。
这是我的代码。。请你帮我看看。指出我的错误。。灰常感谢您。
#include<stdio.h>
#include <iostream.h>
#include <math.h>
struct {
int m, n;
}
void Function A(m,n){
if m==0 return n+1;
else if n==0 return A(m-1,1);
else return A(m-1,A(m,n-1));
}
void main()
{
Function();
A(4,2);
}

第1个回答  2012-11-05
改为这个下面的 运行吧

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

int A(int m,int n){
if (m<0 && n <0){
return -1;

}

if (m==0) return n+1;
else if (n==0) return A(m-1,1);
else return A(m-1,A(m,n-1));
}
void main()
{
printf("%d",A(4,2));
}追问

在vc中,可以编译,但是不能运行。。

追答

能编译过说明语法是没问题的,说明是您的逻辑那块有问题吧试试下面的这个逻辑应问题
int ACK(int m,int n)

{

if(m>=0&&n>=0)

{ if (m==0) return (n+1);

else if (n==0) return ACK(m-1,1);

else return ACK(m-1,ACK(m,n-1));

}

else { printf("error!"); return NULL;}

}

这个应该没问题了,不过测试数据不要太大否则就会出错!

本回答被网友采纳
第2个回答  2012-11-05
看样子函数定义都没弄清楚
void Function A(m,n)定义的是Function A这整个函数
不能分开用
Function();
A(4,2);我其实不知道你是怎么想的这个 反正function应该不是关键字...
而且这么简单的函数应该不需要结构体吧..用了多麻烦 而且用法也错了
空白结构体也不是这么用的呀..自己看看书去吧 还有定义函数()里面 要声明形参类型的比如(int n,int m)才行 if用法也要加()啊
你应该回去多看看原来的基本用法 函数你完全没办法学嘛本回答被提问者采纳
第3个回答  2012-11-05
结构体定义有点问题,if语句使用有问题,多看点书吧,你很多基础的都不会追问

好的。可是vc中提示:void Function A(m,n)这一行有问题。。请问要怎么改呢?

相似回答