我希望每次strstr找到一个包含" house"的字符串时,我的变量houseTot递增1。在里面。我在我的代码中基本上完成了这个:
struct Owner1_def
{
int totProps;
char type[40];
float monthlyPrice;
float maintenance;
int bedrooms;
int bathrooms;
};
typedef struct Owner1_def Owner1;
int main(void)
{
char *ptr;
int i = 0;
ptr = strstr(database[i].hometype, "house");
for(i = 0; i <= 3; ++i)
{
if (ptr != NULL)
houseTot++;
}
return 0;
}
但是当程序打印出houseTot的价值时,它仍然处于初始值0.我不太了解strstr,但是从我的内容来看读,这应该有用。
答案 0 :(得分:0)
应该在循环内移动对strstr()
的调用,以便在每次迭代时检查database[i].hometype
中存储的值:
for(i = 0; i <= 3; ++i) {
ptr = strstr(database[i].hometype, "house");
if (ptr != NULL)
houseTot++;
}
请注意,发布的代码没有struct
s database[]
数组的定义,并且提供的struct
没有hometype
字段。