/*Program to print all the numbers between a lower bound and a upper bound values*/
#include<stdio.h>
#include<stdlib.h>
void recur(int a, int b);
int main(void)
{
int x,y;
printf("Enter the lower and upper bound values: \n");
scanf("%d %d",&x,&y);
void recur(x,y);
return 0;
}
void recur(int a,int b)
{
if(a<b)
{
printf("%d /n",a);
a++;
void recur(a,b);
}
}
我得到的输出是:
Enter the lower and upper bound values:
10
50
process returned 0.
语法或返回类型有什么问题吗? 我刚刚开始学习c.Need Help
答案 0 :(得分:2)
两个
void recur(x,y);
void recur(a,b);
声明函数(原型)。要调用,请将其更改为
recur(x,y);
recur(a,b);
答案 1 :(得分:0)
void recur(int a,int b)
{
if(a<b)
{
printf("%d /n",a);
a++;
//void recur(a,b); You need to call the function not to declare
// there is difference between dec and calling.
recur(a,b); // is the correct way to do this .
}
}
同样需要main()方法
答案 2 :(得分:0)
您的计划中存在以下错误:
funcName(param1, param2);
或者,如果函数返回一个值:
ret = funcName2(param3, param4, param5);
在您的代码中,在调用时将void置为语法错误:
void recur(a,b);
这是声明函数的方式,而不是调用函数。注意功能声明和功能定义之间存在差异。
printf("some message followed by newline \n");
请注意,'\ n'是单个字符,即使您看到'\'和'n'也是如此。 '\'的目的是逃避下一个char'n',使它成为一个新的char。所以'\ n'是换行符。
C中的其他特殊字符是:'\ t'表示标签,'\'表示实际打印'\'。 C中的字符串用双引号括起来,如“message”,而字符用单引号括起来,如'a','b','\ n','n','\'。
答案 3 :(得分:-1)
这是您的工作代码。
#include<stdio.h>
#include<stdlib.h>
void recur(int a, int b);
int main(void)
{
int x,y;
printf("Enter the lower and upper bound values: \n");
scanf("%d %d",&x,&y);
recur(x,y); // change made here
return 0;
}
void recur(int a,int b)
{
if(a<b)
{
printf("%d \n",a);
a++;
recur(a,b); // change made here
}
}