c - 使用 strstr 搜索字符串数组的代码有什么问题?
问题描述
我讨厌问“这里有什么问题?” 问题,但我正在阅读 Head First C 书,在尝试编译我直接从书中获取的示例时遇到了一个问题。代码的目的只是从用户那里获取输入并在“Track List”(轨道数组中的字符串)中搜索用户精确输入的任何副本。由于代码直接取自本书,因此它应该可以完美编译和运行,没有任何问题。但是,它无法识别输入何时是任何字符串的一部分。我自己确定问题根源的所有徒劳无功的尝试似乎都指向了使用 strstr 函数的 if 状态 - 但它并不过分复杂,而且我没有看到问题所在。这是代码:
#include <stdio.h>
#include <string.h>
char tracks[][80] = {
"I left my heart in Harvard Med School",
"Newark, Newark - a wonderful town",
"Dancing with a Dork",
"From here to maternity",
"The girl for Iwo Jima",
};
void find_track(char search_for[]) {
int i;
for (i = 0; i < 5; i++) {
if (strstr(tracks[i], search_for))
printf("Track %i: '%s'\n", i, tracks[i]);
}
}
int main() {
char search_for[80];
printf("Search for: ");
fgets(search_for, 80, stdin);
find_track(search_for);
return 0;
}
解决方案
推荐阅读
- python - self.next = None 如何将下一个值的地址存储在链表中?
- python - 让 nan 进入张量流
- php - 未定义的索引:retail_price 显示我无法将retail_price 传递到 loading_add.php 页面
- python-3.x - Selenium Python 不关闭子窗口
- timeout - Amazon EC2 实例(Windows 服务器)获得定时
- wordpress - get_template_directory_uri VS get_theme_file_uri 哪个更好,为什么?
- javascript - 特定网站的反向图像搜索
- reactjs - 视口元标记不适用于 Google Chrome
- airflow - Google Cloud Composer 服务器遇到临时错误,无法完成您的请求
- php - PHP 回显打印超出我的 html 范围