我正在尝试为使用递归和加法将两个整数相乘的家庭作业编写代码。但是,我目前收到很多错误消息,我什至不确定我是否走在正确的轨道上。而且,只是为了仔细检查,这是递归的,对吧?我为这个问题编写了另一个程序,效果很好,直到我意识到它实际上并不是递归的。这是完整的代码:
#include <iostream>
#include <iomanip>
using namespace std;
int result;
int m;
int n;
int rmultiply(int m, int n)
{
if(n > 1)
return(m + (rmultiply(n - 1)));
else if ((m == 0) || (n == 0))
return 0;
else if (n == 1)
return m;
}
int main(m, n)
{
cout << "Enter two integers to multiply" << endl; //prompt user to input 2 integers
cin >> m >> n; //store them in variable m and n
result = rmultiply(m,n);
cout << result;
}
错误 1:函数“int rmultiply(int, int)”的参数太少
return(m + (rmultiply(n - 1)));
警告:控制到达非无效函数的结尾
错误 2(对于下面的代码行):表达式列表在初始化程序中被视为复合表达式
错误 3:应为 ',' 或 ';' 在'{'标记之前
警告:逗号运算符的左操作数无效
int main(m, n)
{
任何帮助,将不胜感激!