2011-09-19 138 views
-1

我想將一個字母的ASCII值存儲到一個變量中,我該怎麼做?如何比較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文件字符?所以它可以保存在字符變量上。

回答

7

只要做到:

​​

Ç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 

} 
+2

在C中,變量不是_necessarily_ ASCII,只有大約99.9%的機器出現了這種情況,不幸的是,我在其中一臺機器上工作:-) – paxdiablo

+0

@paxdiablo:hehehehehe ...你在做什麼機器? –

+0

大型機上的USS/OMVS /(無論它在本週稱爲什麼)使用EBCDIC。 – paxdiablo

1

如果你只是想給ascii值保存到變量整數

只是用這個

int b; 
char c = 'r'; 
b = (int)c; 
printf("%d",b);