C程序,解释一下

来源:百度知道 编辑:UC知道 时间:2024/05/09 16:47:51
main()
{
int p;
char c;
p='a';
c=97;
printf("%c,%d\n",c,c);
printf("%c,%d\n",p,p);
}

c语言中,字符型和整型可以相互转化(二者在某种意义上是一回事),字符-〉整型是求取其ascii码,整型-〉字符型是求其所代表的字符。
将'a'的ascii码(一个整数)赋给p,将ascii码为97的字母赋给c

main() %主程序
{
int p; %定义整数p
char c;%定义字符c
p='a'; %ASCII码为97,二进制为11000001
c=97; %整数97,二进制为11000001
printf("%c,%d\n",c,c); %以字符、整数形式输出c
printf("%c,%d\n",p,p); %以字符、整数形式输出p
}

楼上正解。
请楼主参阅一下ASCII 码表。

main() //主程序
{
int p; //这些就不用了吧
char c;
p='a'; //ASCII码为97,二进制为11000001
c=97; //整数97,二进制为11000001
printf("%c,%d\n",c,c); //以字符、整数形式输出c(即二进制11000001)
printf("%c,%d\n",p,p); //…………………………p………………………
}

注:……为“同上”

在C中,一切数据都是已二进制形式存在内存中的。所以ASCII码为97的字符'a',与整数97等价。