Hoe integer converteren naar Char in C? [DUPLICEER]

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 inttoe aan een charVariabele.

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);
 }

Other episodes