Hàm trả về một chuỗi trong C

Anh chị cho e hỏi làm thế nào để hàm trả về một chuỗi? E muốn viết hàm chuyển đổi ra 1 chuỗi bit như bên dưới mà bị sai rồi, nhờ các anh giúp đỡ!!!

#include <stdio.h>
char cdrabit(char a) //ham chuyen doi ki tu trong he 16 ra bit
{
	char *kq;
	switch (a)
	{
	case'0':kq= "0000"; break;
	case'1':kq= "0001"; break;
	case'2':kq= "0010"; break;
	case'3':kq= "0011"; break;
	case'4':kq= "0100"; break;
	case'5':kq= "0101"; break;
	case'6':kq= "0110"; break;
	case'7':kq= "0111"; break;
	case'8':kq= "1000"; break;
	case'9':kq= "1001"; break;
	case'A':kq= "1010"; break;
	case'B':kq= "1011"; break;
	case'C':kq= "1100"; break;
	case'D':kq= "1101"; break;
	case'E':kq= "1110"; break;
	case'F':kq= "1111"; break;
	}
	return *kq;
}
void main()
{
	char kytu;
	printf("Nhap vao ky tu he 16: ");
	scanf("%c", &kytu);
	printf("Chuyen ra bit la: %c", cdrabit(kytu));
}

Hàm trả về một chuỗi trong C
Nếu đã là trả về một chuỗi thì sao lại khai báo kiểu trả về là char ? -> có thể khai báo kiểu trả về là char *:

char* cdrabit(char a) 
return *kq;  --> return kq;
printf("Chuyen ra bit la: %c", cdrabit(kytu)); -->  printf("Chuyen ra bit la: %s", cdrabit(kytu));
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?