c - c语言中如何比较字符串

标签 c string

我有下一个奇怪的情况:

void refill (Car* car) {
    if ( car->model == "BM234" ) {
        car->fuel = 65;
    } else {
        car->fuel = 51;
    }
}

我的 struct Car 有一个名为 model 的 af 字段,它是“BM234”。但比较的结果是 car->fuel = 51((( 为什么 C 的两个相等的字符串不相等?

最佳答案

您可以使用

strcmp( car->model,"BM234")==0

如果您想使用 ==,则必须为您的类或结构使用运算符重载

关于c - c语言中如何比较字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25808792/

相关文章:

arrays - 如何将字符串转换为byte() vb.net?

C - 文件中的矩阵

c - 将军事时间解析为 HH MM 和 SS/

我们可以在同一个进程中托管多个 vnc 服务器(使用 LibVNCServer 库)吗?

javascript - 将 js 对象值作为字符串复制到 html 中

string - Matlab 中的多行字符串文字?

java - 为什么 Java 的 concat() 方法什么都不做?

c - 在这种情况下使用 uint64_t 是一个不好的做法吗?

c - C语言简单的HTTP请求和响应

python - 基于dict多次修改字符串