배열값을 읽어오질 못하는 문제 질문 부탁드려도 될까요 ?

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

#define MC 5 //MC = MAX_CUSTOMER

int create();
int view();

int main(int argc, char *argv[]) 
{
	char name[MC][2][20];
	int accounts[MC];
	int balance[MC];
	int order = 0;
	int f = 0;
	int sel, withdraw, remove;
	int i, k, c;
	int tmp, tmp1, tmp2;
	
	void create() {
	
		printf("이름을 입력해주십시오: ");
		scanf("%s", name);
		
		printf("계좌번호를 입력해주십시오(다섯자리수의 정수): ");
		scanf("%d", &accounts[order]);
		
		balance[order] = 0; 
		
		printf("%s님의 계좌가 개설되었습니다. 계좌번호는 %d입니다.\n", name[order], accounts[order]);
		
		order++;
	}
		
	void view() {
	
		printf("조회를 원하는 계좌의 번호를 입력해 주십시오: ");
		scanf("%d", tmp);
		
		for ( k = 0; k < MC; k++) 
		{
			if (tmp == accounts[k])
				printf("%s님의 계좌 잔액은 %d원입니다.\n", name[k], balance[k]);
			else
				printf("계좌 정보를 조회할 수 없습니다.\n");	
									
		}
		tmp = 0;
	}
	
		do {
	
	printf("======================================\n");
	
	for (i = 0; i < 5; i++)
		{
		printf("=                                    =\n");
		}
		
	printf("=       G-BANK APPLICATION           =\n");
		
	for (i = 0; i < 5; i++)
		{
		printf("=                                    =\n");
		}
		
	printf("======================================\n");				
	 
	printf("메뉴를 선택해주십시오: (1. 계좌 개설 2. 조회 3. 이체 4. 입급 5. 출금 6. 계좌 해지 7. 종료)\n");
	scanf("%d", &sel);
	
	if ( sel == 1)
		create();
	else if ( sel == 2 ) 
		view();
	else
		printf("비정상적인 입력입니다.");
	
	} while ( f < 1);
	
	return;
}

이런식으로 코드를 짜보았는데, 두번째 view함수에서 계좌정보를 읽어들이지 못합니다.
배열선언을 따로 해주어야 할까요 ??

음… 혹시 참고하신 소스코드나 과제 항목이 있을가요?

이런 질문을 하실 때에는 사용하신 입력 데이터도 가져오시는게 좋아요.

view함수에서는, scanf 부분이 일단 잘못된 것 같아요

printf("조회를 원하는 계좌의 번호를 입력해 주십시오: ");
		scanf("%d", tmp);

tmp 변수 앞에 &를 붙여야할 것 같네요