如何比较ASCII值

3

我希望将一个字母的ASCII值存入一个变量中,我该怎么做呢?

例如:

r ASCII variable = 82
main()
{
    character = "character read from a file";
    variable= "r ascii"; //(in this case 82), the problem is that the letter is always        variable.;
    printf( "the value of %c is %d, character, variable)
}

我该怎么做呢?

另外,我如何逐个字符地读取.txt文件?这样可以将其保存在字符变量中。

2个回答

14

只需要这样做:

if (r == 82) {
   // provided r is a char or int variable
}

C语言中,char类型变量是通过其ASCII整数值进行表示的,因此,如果您有以下这个:

char r;
r = 82;
if (r == 82) {
}

与以下代码等效:

char r;
r = 'R';
if (r == 'R') { // 'R' value is 82

} 

你甚至可以混合使用它们:

char r;
r = 82;
if (r == 'R') { // will be true

}

3
在C语言中,变量不一定是ASCII字符,尽管对于大约99.9%的机器而言,这是正确的。不幸的是,我正在使用剩下的那些机器之一,所以这并不适用于我。 - paxdiablo
1
在主机上,USS/OMVS/(无论本周叫什么) 使用 EBCDIC。 - paxdiablo

3
如果您只是想将ascii值保存到整数变量中,可以使用以下方法。
int b;
char c = 'r';
b = (int)c;
printf("%d",b);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接