例如,如果整数为97,则字符为'a',或98为'b'。
答案 0 :(得分:11)
在C中,int
,char
,long
等都是整数。
它们通常具有不同的内存大小,因此具有与INT_MIN
到INT_MAX
不同的范围。 char
和char
数组通常用于存储字符和字符串。整数存储有多种类型:int
是最受欢迎的速度,大小和范围的平衡。
ASCII是目前最流行的字符编码,但其他编码存在。 'A'的ASCII码为65,'a'为97,'\ n'为10等.ASCII数据通常存储在char
变量中。如果C环境使用ASCII编码,则以下所有内容都将相同的值存储到整数变量中。
int i1 = 'a';
int i2 = 97;
char c1 = 'a';
char c2 = 97;
要将int
转换为char
,请简单指定:
int i3 = 'b';
int i4 = i3;
char c3;
char c4;
c3 = i3;
// To avoid a potential compiler warning, use a cast `char`.
c4 = (char) i4;
出现此警告是因为int
的范围通常大于char
,因此可能会发生一些信息丢失。通过使用强制转换(char)
,可以明确指示潜在的信息丢失。
打印整数的值:
printf("<%c>\n", c3); // prints <b>
// Printing a `char` as an integer is less common but do-able
printf("<%d>\n", c3); // prints <98>
// Printing an `int` as a character is less common but do-able.
// The value is converted to an `unsigned char` and then printed.
printf("<%c>\n", i3); // prints <b>
printf("<%d>\n", i3); // prints <98>
在打印%hhu
时,还有其他有关打印的问题,例如使用unsigned char
或强制转换,但请稍后再保留。 printf()
有很多。
答案 1 :(得分:1)
char c1 = (char)97; //c1 = 'a'
int i = 98;
char c2 = (char)i; //c2 = 'b'
答案 2 :(得分:1)
将整数转换为char将执行您想要的操作。
char theChar=' ';
int theInt = 97;
theChar=(char) theInt;
cout<<theChar<<endl;
除了你介入的方式之外,'a'和97之间没有区别。
答案 3 :(得分:0)
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);
}
答案 4 :(得分:0)
#include<stdio.h>
void main ()
{
int num;
printf ("=====This Program Converts ASCII to Alphabet!=====\n");
printf ("Enter ASCII: ");
scanf ("%d", &num);
printf("%d is ASCII value of '%c'", num, (char)num );
}
#include<stdio.h>
void main ()
{
char alphabet;
printf ("=====This Program Converts Alphabet to ASCII code!=====\n");
printf ("Enter Alphabet: ");
scanf ("%c", &alphabet);
printf("ASCII value of '%c' is %d", alphabet, (char)alphabet );
}