十六进制转换ASCII码的有关问题.在VC编译下.为什么就有有关问题.大家帮小弟我看看.多谢

十六进制转换ASCII码的问题.在VC编译下.为什么就有问题.大家帮我看看.谢谢.
// 2.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
void hctoa(unsigned char ch, unsigned char* hex) 

unsigned char i,c; 

for(i=0;i<2;i++) 

if(i==0) c = ch>>4; 
else c = ch; 
c &= 0x0f; 
if( c>=0 && c<=9 ) *(hex+i) = '0' + c; 
else *(hex+i) = 'A' + c - 10; 



int main(int argc, char* argv[])
{
unsigned char crsp[2];
unsigned char str=22;
unsigned char i;

hctoa(str,crsp);

for(i=0;i<2;i++)
{
printf("%c",crsp[i]);
}

printf("Hello World!\n");
return 0;
}



------解决方案--------------------
在另一个地方已经回你了