【发布时间】:2018-06-12 15:09:49
【问题描述】:
#include<stdio.h>
int main()
{
int num;
printf("Enter a EVEN Number: ");
scanf("%d",&num);
if (num%2!=0)
{
printf("WRONG INPUT\n\n");
main();
}
printf("EVEN NUMBER ENTERED\n");
}
这与 A C 程序如何使用堆栈存储信息有关吗?还是我错过了一些概念
【问题讨论】:
-
考虑循环而不是递归调用
main -
我知道使用循环的方法,但我想了解递归的基础知识,因为我最近开始编程
-
请不要显示文字图片,显示文字本身。
-
如果这是你清楚递归基础的结果,那么你应该从头开始复习。
-
如果你在输入偶数前犯了N个错误,你会收到N+1个输入偶数的信息。不要像那样在
main()上使用递归。是的,它在 C 中是允许的(它在 C++ 中是不允许的——这是语言之间的另一个差异),但这不是一个好主意。请改用循环。