例如,假设我已经创建了一个名为string[100]的字符串,并为其分配了一些值,我怎么能知道string[n]的值是否为"0";m";?
我考虑过创建另一个char变量;m〃;然后用strcmp将string[n]与char进行比较,但仅仅为此创建变量似乎有点浪费代码,因为在我试图编写的程序中,我必须将string[n]与很多东西进行比较。
提前谢谢你,很抱歉我对C的知识太差了,我今天开始学习了。
您才刚刚开始,C中的字符串并不像"用户友好的";就像在其他一些编程语言中一样,所以询问没有错。
在C中,字符串只是一个字符数组,后面有一个空字符(' '
(表示字符串的末尾。不过,正如评论中所提到的,该数组中的每个字符都只是一个字符,这是一个小整数,可以与==
、!=
、>
、<
等简单运算符进行比较。
例如,如果我们想知道字符串是否以'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;
}