我是 C 语言新手,在使用函数 strstr
时遇到问题。
Make 给了我一个我不明白的警告,任何人都可以解释一下吗?
warning: comparison between pointer and integer (
char *
andint
)if (strstr(reference, number_start) == 1)
warning generated.
我的代码:
#include <stdio.h>
#include <string.h>
int main (void) {
char reference[] = "34,37";
char number[] = "34567890123456";
char number_start[] = {number[0], number[1], '\0'};
if (strstr(reference, number_start) == 1) {
printf("Yup, iit's workin'\n");
} else {
printf("Try again, wookie\n");
}
return 0;
}
最佳答案
strstr()
如果找到则返回指向第一个子字符串的指针,如果未找到则返回 NULL。
替换
if (strstr(reference, number_start) == 1) {
与
if (strstr(reference, number_start) != NULL) {
检查number_start
是否在reference
中。
关于C - 指针和整数 ('char *' 和 'int' 之间的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36024836/