다음 프로그램은 다차원 배열을 검색해야합니다. 입력으로 town
이라는 단어를 입력하면 Track 1: Newark,Newark-A Wonderful Town
을 반환해야하지만 아무런 결과가 나타나지 않습니다 (아무 일도 일어나지 않습니다), 어떤 생각을 고쳐야합니까?C-Programming.Why이 작동하지 않는 이유는 무엇입니까?
저는 헤드 퍼스트 C 책을 연구 중입니다.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* Run this program using the console pauser
or add your own _getch, system("pause") or input loop */
char tracks[][80]={
"I Left My Heart In Harvard Med School",
"Newark,Newark-A Wonderful Town",
"From Here to Maternity",
"The Girl From Iwo Jima",
};
void find_track(char search_for[]){
int i;
for (i=0;i<=4;i++){
if(strstr(tracks[i],search_for)){
printf("Track %i:'%s' \n",i,tracks[i]);
}
}
}
int main(int argc, char *argv[]) {
char search_for[80];
printf("Search for: ");
fgets(search_for,80,stdin);
find_track(search_for);
return 0;
}
'Town'! ='town'. – Amy
둘 다 작동하지 않습니다. –
@ 광섬유 첫 번째 주석에서 지적한 것과 별개로, 매뉴얼에서 fgets를 확인하십시오. 원하는 것이 아닌 개행 문자도 읽습니다. – sjsam