Hoe integer naar Char in C converteren?
Antwoord 1, Autoriteit 100%
Een CHAR in C is al een nummer (de ASCII-code van het teken), geen conversie vereist.
Als u een cijfer naar het overeenkomstige teken wilt converteren, kunt u eenvoudig ‘0’ toevoegen:
c = i +'0';
De ‘0’ is een teken in de ASCLL-tabel.
Antwoord 2, Autoriteit 30%
U kunt de Functie-functie van Atoi () proberen.
Ook SSCANF () en Sprintf () zouden helpen.
Hier is een klein voorbeeld om het converteren van gehele getal naar tekenreeks te laten zien:
main()
{
int i = 247593;
char str[10];
sprintf(str, "%d", i);
// Now str contains the integer as characters
}
Hier voor een ander voorbeeld
#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
*/
Antwoord 3, Autoriteit 15%
Wijs gewoon de int
toe aan een char
Variabele.
int i = 65;
char c = i;
printf("%c", c); //prints A
Antwoord 4, Autoriteit 12%
Integer converteren naar char slechts 0 tot 9 worden geconverteerd. Zoals we weten 0’s ASCII-waarde is 48, dus we moeten de waarde toevoegen aan de integer-waarde om in het gewenste karakter te converteren
Vandaar
int i=5;
char c = i+'0';
Antwoord 5, autoriteit 5%
Om te converteren naar gebruik van char:
int a=8;
char c=a+'0';
printf("%c",c); //prints 8
Char converteren naar int use:
char c='5';
int a=c-'0';
printf("%d",a); //prints 5
Antwoord 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's 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);
}