1
그래서 내가하려는 것은 사용자가 치즈를 검색하고 화면에 표시하도록하는 것입니다. 후자와 문제가 있습니다. 나는 문자열을 표시하는 것,하지만 내 코드는 여전히 실행됩니다. 여기 내 코드는 다음과 같습니다.검색된 문자열을 화면에 어떻게 표시합니까?
#include<stdio.h>
#include<string.h>
char cheeses[][20] = {
"Cheddar",
"White Cheddar",
"Colby Jack",
"Gouda",
"Blue Cheese",
"Gorgonzola",
"Asiago",
"Limburger",
"Feta",
"Brie",
"Goat",
};
void find_cheese(const char *search_for)
{
int i;
for (i = 0; i < 5; i++) {
if (strstr(cheeses[i], search_for))
printf("Cheese %i: '%s'\n", i, cheeses[i]);
}
}
int main()
{
char search_for[20];
printf("Search for: ");
fgets(search_for, 20, stdin);
find_cheese(search_for);
return 0;
}
그래서이 경우 어떻게해야합니까? "Lim"이라고 입력하면 Limburger가 표시됩니다 (나중에 치즈 정보를 표시 할 수 있습니다). 내가 어떻게 할까?
당신이 그런 짓을 수'에 대한 (전 = 0; i가 sizeof 연산자 <(치즈)/sizeof (* cheeses); i ++)'대신에? – Reimeus
@ Reimeus 예, 물론입니다. 좀 더 복잡해 보였으므로 저는 감시 카메라 appraoch를 선택했습니다. 그러나 이것은 일반적으로 사용되었습니다. 또한 변수 이름을 괄호로 묶을 필요가 없으며 'sizeof'는 함수가 아닙니다. – unwind
실행되지만 여전히 치즈 이름이 표시되지 않습니다. 다른 printf가 필요합니까? –