Как преобразовать целое число в char в C?
Как преобразовать целое число в char в C?
Ответ 1
A char в C уже является числом (символьный код ASCII), не требуется преобразование.
Если вы хотите преобразовать цифру в соответствующий символ, вы можете просто добавить '0':
c = i +'0';
"0" - символ в таблице ASCll.
Ответ 2
Вы можете попробовать функцию atoi() библиотеки. Также помогли бы sscanf() и sprintf().
Вот небольшой пример, показывающий преобразование целого числа в символьную строку:
main()
{
int i = 247593;
char str[10];
sprintf(str, "%d", i);
// Now str contains the integer as characters
}
Здесь для другого примера
#include <stdio.h>
int main(void)
{
char text[] = "StringX";
int digit;
for (digit = 0; digit < 10; ++digit)
{
text[6] = digit + '0';
puts(text);
}
return 0;
}
/* my output
String0
String1
String2
String3
String4
String5
String6
String7
String8
String9
*/
Ответ 3
Просто присвойте int
переменной char
.
int i = 65;
char c = i;
printf("%c", c); //prints A
Ответ 4
Чтобы преобразовать int в char, используйте:
int a=8;
char c=a+'0';
printf("%c",c); //prints 8
Преобразовать char в int use:
char c='5';
int a=c-'0';
printf("%d",a); //prints 5
Ответ 5
чтобы преобразовать целое число в char, только от 0 до 9 будет преобразовано, так как значение 0s ascii равно 48, поэтому мы должны добавить его значение для преобразования в желаемый символ следовательно,
int i=5;
char c = i+'0';
Ответ 6
void main ()
{
int temp,integer,count=0,i,cnd=0;
char ascii[10]={0};
printf("enter a number");
scanf("%d",&integer);
if(integer>>31)
{
/*CONVERTING 2 complement value to normal value*/
integer=~integer+1;
for(temp=integer;temp!=0;temp/=10,count++);
ascii[0]=0x2D;
count++;
cnd=1;
}
else
for(temp=integer;temp!=0;temp/=10,count++);
for(i=count-1,temp=integer;i>=cnd;i--)
{
ascii[i]=(temp%10)+0x30;
temp/=10;
}
printf("\n count =%d ascii=%s ",count,ascii);
}