我正在经历从头部一次C类书籍一些练习。还有一个jukeBox程序。
来源是在这里:
#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 from 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;
}
我使用终端来编译,看看该程序的输出,gcc版本4.8.2,如:
gcc pr.c -o pr
每当我尝试运行该程序,输入搜索字符串我没有输出。程序只是完成执行并退出。
另外我想提一下,我试图在ideone.com here上编译此代码。
可能存在哪些问题?终端根本不显示任何输出。
可能有几个不同的问题,所以最好尝试一步一步的调试并观察行为。第一个猜测(用我非常生锈的C技巧)可能是你只是输入了错误的字符串(例如不考虑lettercase)。也许你应该首先尝试用更简单的字符串来避免这种可能的错误。 –
哇。问题的完整描述,甚至是ideone的链接。正确询问“帮我调试”的问题现在非常罕见。 – luk32
太糟糕了,它是一个确切的副本。副本没有正确回答,但建议的修复方法很好。 – usr2564301