C字符串中字符的比较

ida*_*ika 1 c string char

以下程序不能按我的意图运行.

#include <string.h>
#include <stdio.h>

int main()
{
    const char *c = "abcdef";

    // prints 'f' as expected
    printf("%c\n", c[5]);

    // comparison fails, does not print "yes"
    if (c[5] == 'f')
        printf("yes");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

如何将字符串文字中的字符与字符值进行比较?是否可以不使用ASCII相关函数,即chr()或ord()假设存在这些函数.(我记得在Pascal时代使用它们)

谢谢

Mat*_*eer 6

您的环境一定会有其他事情发生.我把它扔进了gcc,并按预期打印出"是".

你确定你不只是错过了"是",因为默认情况下printf没有添加新行,所以它可能是"是[你的shell提示]"而你只是忽略了是吗?