Возврат текста в C
Есть такая проблема. Нужно перевести число в 16ричную систему счисления. Замену чисел 10-16 на буквы сделал в подпрограмме через switch. Но после выполнения вместо нужной буквы программа возвращает код буквы из ASCI.
Как сделать, чтобы возвращало именно букву?
int iftool(char t)
{
switch (t) {
case 0:
return t = 0;
break;
//
// ...
//
case 9:
return t = 9;
break;
case 10:
return t = 'A';
break;
case 11:
return 'B';
break;
case 12:
return t = ('C');
break;
case 13:
return t = ('D');
break;
case 14:
return t = ('E');
break;
case 15:
return t = ('F');
break;
}
}
часть которая переводит из 2й в 16 систему.
l=0;
r=1;
m=1;
n=0;
while (l<=k)
{
n=(n+(number[l]*r));
if ( m%4==0 || l==k)
{
r=1;
m=1;
t=n;
t=iftool(t);
mas[x]=t;
n=0;
printf ("lol-%d",mas[x]);
x++;
}
else
{
m++;
r=r*2;
}
l++;
}
Источник: Stack Overflow на русском