C中的字符比较

dcl*_*ark 14 c comparison char

我试图比较两个字符,看看一个是否比另一个更大.为了看他们是否平等,我用了strcmp.有什么类似于strcmp我可以使用的吗?

Vic*_*tor 18

char变量实际上是8位的整数值.它必须从价值0255.这些是ASCII码.0代表C-null字符,255代表空符号.

因此,当您编写以下作业时:

char a = 'a'; 
Run Code Online (Sandbox Code Playgroud)

它是一样的:

char a = 97;
Run Code Online (Sandbox Code Playgroud)

所以,你可以比较两个char使用变量>,<,==,<=,>=运营商:

char a = 'a';
char b = 'b';

if( a < b ) printf("%c is smaller than %c", a, b);
if( a > b ) printf("%c is smaller than %c", a, b);
if( a == b ) printf("%c is equal to %c", a, b);
Run Code Online (Sandbox Code Playgroud)

  • 对不起,对不起:"0代表NULL"?也许是ASCII NUL或C null字符,但不是"NULL". (3认同)
  • 必须在上面更正比较运算符,如果(a == b) (2认同)

Vor*_*ung 9

在C中,char类型具有数值,因此>运算符可以正常工作

#include <stdio.h>
main() {

    char a='z';

    char b='h';

    if ( a > b ) {
        printf("%c greater than %c\n",a,b);
    }
}
Run Code Online (Sandbox Code Playgroud)