【问题标题】:how to compare strings with for in C [duplicate]如何在C中将字符串与for进行比较[重复]
【发布时间】:2021-04-15 07:17:00
【问题描述】:
#include <stdio.h>
#include<string.h>

int main(void) {
    char* a = "asdf";
    for (int i = 0; i < strlen(a); i++) {
        if(a[i] == "s"){
            printf("%c", a[i]);
        }
    }
    return 0;
}

我认为这个打印“s”但它没有打印任何内容有什么问题?

【问题讨论】:

  • if(a[i] == 's')。一个字符的单引号。字符串文字的双引号。
  • 当您在这种情况下将charchar* 进行比较时,您的编译器是否会显示一些警告?

标签: c


【解决方案1】:

在您的示例中,"s" 的类型是 char *,因此您的比较是在 charchar * 之间进行。你必须使用's',这个类型是char

要了解区别,请尝试:printf("|%c|\n", "s");printf("|%c|\n", 's');

【讨论】:

    猜你喜欢
    • 2021-07-10
    • 1970-01-01
    • 2022-12-04
    • 1970-01-01
    • 2011-10-19
    • 2012-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多