gpt4 book ai didi

字符比较在 C 中进行

转载 作者:行者123 更新时间:2023-11-30 19:11:11 25 4
gpt4 key购买 nike

假设您有一个像 char str[10] 这样的字符串,并且您正在比较让,比如说

if(str[i]>str[i+1])
{
// some lines of code
}

它们如何比较,编译器是否将字符转换为它们的 ASCII ?想知道 C 中字符比较是如何发生的。

最佳答案

如果我说

char str[] = "Hello, world!";
int i = 7;
printf("%d %d\n", str[i], str[i+1]);
if(str[i] > str[i+1]) { printf("it is greater\n"); }

它将打印

119 111
it is greater

但是这里没有发生任何“魔法”,也没有特殊的转换。在 C 语言中,字符简单地由一个小整数表示,该整数给出了机器字符集中字符的值,出于所有意图和目的,我们可以假设它是 ASCII(或者可能是它的超集,Unicode)。正如任何 ASCII 图表都会告诉您的那样,“o”是 111,“w”是 119。

关于字符比较在 C 中进行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40558179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com