好吧,这一定很容易,但我现在有一天:-p
我有一个char*数组,例如目的如下:
char* symbols [] = {"++-", "--+"};
Run Code Online (Sandbox Code Playgroud)
我在试图环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");
}
}
Run Code Online (Sandbox Code Playgroud)
但是,编译时我收到警告:
comparison between pointer and integer [enabled by default]
Run Code Online (Sandbox Code Playgroud)
我想我错过了一些基本的东西 - 有人能帮我看看树上的木头吗?
symbols是指向的类型指针char.你需要一个指针数组char.
更改
char* symbols = {"++-", "--+"};
Run Code Online (Sandbox Code Playgroud)
至
char* symbols[] = {"++-", "--+"};
Run Code Online (Sandbox Code Playgroud)
和条件 if
if(strcmp(tmp[i], "+") == 0)
Run Code Online (Sandbox Code Playgroud)
至
if(tmp[i] == '+')
Run Code Online (Sandbox Code Playgroud)