30/09/2018, 19:05
Hỏi về in mảng bằng đệ quy trong C
#include <stdio.h>
#include <conio.h>
//#include "libDeQuy.h"
#define MAX 100
//nhap xuat mang bag de quy
void nhapMang(int a[], int n);
void xuatMang(int a[], int n);
int main()
{
int a[MAX], n;
do{
printf("
Nhap vao so phan tu mang: ");
scanf("%d", &n);
if(n< 0 || n> MAX) printf("
Ban nhap sai gia tri! Moi nhap lai
");
}while(n< 0 || n> MAX);
nhapMang(a, n);
xuatMang(a, n);
getch();
return 0;
}
void nhapMang(int a[], int n)
{
if(n>= 0){
nhapMang(a, n-1);//nhap cac phan tu truoc
printf("Nhap vao phan tu thu: %d", a[n]);
scanf("%d", &a[n]);
}
}
void xuatMang(int a[], int n)
{
if(n>= 0){
xuatMang(a, n-1);
printf("%d ", a[n]);
}
}
sao nó không đếm số lượng phần tử mảng giống như vòng lặp ạ
Anh chị chỉ em với ạ
Bài liên quan
void nhapMang(int a[], int n)
{
if(n>0){
}
void xuatMang(int a[], int n)
{
if(n>0){
}
đệ qui thì phải có điều kiện (base case) để thoát chứ ko phải điều kiện để tiếp tục
Hiểu rồi, thanks bạn!
Full code Đệ Quy cho bạn tham khảo