Làm sao để giữ giá trị của n từ hàm nhập input vào hàm output?

Làm sao để có thể giữ được giá trị của n từ hàm nhập input vào hàm output ạ??

#include <stdio.h>
#include <stdlib.h>

void input(int arr[100], int n){
	printf("Enter the size of array: ");
	scanf("%d", &n);
	printf("Enter the %d number: ", n);
	int i;
	for (i = 0; i < n; i++){
		scanf("%d", &arr[i]);
	}
}

void output(int arr[100], int n){
	int i;
	for (i = 0; i < n; i++){
		printf("%3d", arr[i]);	
	}
}

int main() {
	int arr[100];
	int n, i;
	int check;
	printf("Enter the select: ");
	scanf("%d", &check);
	switch (check){
	case 1: input(arr, n);
			output(arr, 5);
		break;
}
	return 0;
}

Con trỏ!
Bạn có học về con trỏ chưa?
Nếu chưa học con trỏ thì còn 1 cách nữa là Trả về (return). Trong hàm input() sẽ trả về kiểu int và giá trị n.
Trong main() thì gán giá trị cho n từ hàm trả về.

3 Likes

Mh chưa hiểu lam về cách return, b nói rõ hơn xíu đc k ?

Mh chưa hiểu lam về cách return, b nói rõ hơn xíu đc k ?

Nó nên trông như thế này cậu ạ:

int input(int arr[100]) {
    //.. do whatever you want to get 'n'
    return n;
}

Cậu học kỹ lại C cơ bản, đọc textbook kỹ trước khi làm bài tập nhé! :smile:

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?