[英]c - compare letters in a string
好的,这一定很容易,但是我正处于其中的某一天:-p
我有一个char *数组,例如,如下所示:
char* symbols [] = {"++-", "--+"};
我正在尝试遍历symbols[0]
和symbols[1]
并比较每个字符,以查看其是+
还是-
我正在努力:
char* tmp = symbols[0];
for (int i = 0; i < strlen(tmp); i++)
{
if(strcmp(tmp[i], "+") == 0)
{
printf("It's a plus!\n");
}
else if (strcmp(tmp[i], "-") == 0)
{
printf("Its a minus!\n");
}
}
但是,在编译时收到警告:
comparison between pointer and integer [enabled by default]
我想我缺少基本的东西-有人可以帮我从树上看到木头吗?
symbols
类型为char
指针。 您需要一个指向char
的指针数组。
更改
char* symbols = {"++-", "--+"};
至
char* symbols[] = {"++-", "--+"};
和条件if
if(strcmp(tmp[i], "+") == 0)
至
if(tmp[i] == '+')
" "
和' '
不同。 使用单引号表示一个字符,否则它是一个字符数组(这是一个数组)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.