在C中,如何知道字符串char是否具有特定值?

问题描述 投票:0回答:1

例如, 假设我创建了一个名为

string[100]
的字符串并为其分配了一些值,我如何知道
string[n]
的值是否为
m

我考虑过创建另一个 char 变量并为其分配

"m"
,然后将
string[n]
与 char 与
strcmp
进行比较,但这似乎有点浪费代码为此创建一个变量,因为在程序中我正在尝试编码,我必须将
string[n]
与很多东西进行比较。

提前感谢并抱歉我对 C 的了解很差,我今天开始学习它。

c string variables char compare
1个回答
1
投票

你才刚刚开始,C 中的字符串不像其他一些编程语言那样“用户友好”,所以询问并没有什么问题。

在 C 中,字符串只是一个字符数组,末尾有一个空字符 (

'\0'
) 来指示字符串的结尾。不过,正如评论中提到的,该数组中的每个字符只是一个字符,它是一个小整数,可以与
==
!=
>
<
等简单运算符进行比较。

例如,如果我们想知道字符串是否以

'm'
开头,我们可以编写一个简单的函数来检查数组的第一个元素。请注意,C 数组的索引从
0
开始。

int starts_with(char ch, char *str) {
    return s[0] == ch;
}

一旦您学习了如何在 C 中使用循环和其他控制流机制,您将能够对字符串执行更复杂的操作。举个例子,确定一个字符是否出现在字符串中。

int contains_char(char ch, char *str) {
    for (char *c = str; *c; c++) {
        if (*c == ch) {
            return 1;
        }
    }
    return 0;
}
© www.soinside.com 2019 - 2024. All rights reserved.