某个字符型变量>10之后,做某件事可是这样好像不能实现,要怎么让字符变量和数字常量比较?
C语言中,字符变量就相当于是整型变量,和整型变量的用法一样。它和其他数字常量进行相关运算时就可以直接当做整型数字来用。比如:
(1)#include<stdio.h>
void main()
{
char x='a';
int y=68;
int z;
if(x>10)
{
z=x-y;
}
else
z=y-x;
printf("z=%d\n",z);
getch();
}
输出结果是:z=29 正确
(2)#include<stdio.h>
void main()
{
char x='a';
float y=68.5;
float z;
if(x>10)
{
z=x-y;
}
else
z=y-x;
printf("z=%f\n",z);
getch();
}
输出结果为:z=28.5 正确
(1)#include<stdio.h>
void main()
{
char x='a';
int y=68;
int z;
if(x>10)
{
z=x-y;
}
else
z=y-x;
printf("z=%d\n",z);
getch();
}
输出结果是:z=29 正确
(2)#include<stdio.h>
void main()
{
char x='a';
float y=68.5;
float z;
if(x>10)
{
z=x-y;
}
else
z=y-x;
printf("z=%f\n",z);
getch();
}
输出结果为:z=28.5 正确
温馨提示:答案为网友推荐,仅供参考
第1个回答 2011-05-10
数据在内存中都是以2进制形式储存,储存的2进制的值等于变量的值的ASCII码值
所以 字符常量和数字常量比较是用他们对应的ASCII码比较
由表知:字符'0'到'9' 'a'到'z''A'到'Z' 的ASCII码都>=48都大于数字常量0到9
所以 字符常量和数字常量比较是用他们对应的ASCII码比较
由表知:字符'0'到'9' 'a'到'z''A'到'Z' 的ASCII码都>=48都大于数字常量0到9
第2个回答 2011-05-10
强制转换、将字符型的转换为数值常量即ASCII码
第3个回答 2011-05-10
char a = 'a';
int n = 10;
if (n < (int)a)
.....
int n = 10;
if (n < (int)a)
.....