제가

2014-05-13 3 views
-3
do{ 
printf("Entrer le nombre\n"); 
scanf("%d",&o); 
}while(o!=T[i]); 

단지 모든 배열 T []을 테스트하고보고 싶은 C의 상태에 루프를 사용할 수제가

+0

디버깅 요청과 개인 과외 자제하세요 스택 오버플로에 대한 요청 구체적인 프로그래밍 질문을 작성하는 것만이 엔트리 카드입니다. – Brian

+0

@staticx이 경우, "라이브 코드"는 응답하는 사람이 과도하지 않습니다. – hexafraction

+0

'do/* ... */while (! inarray (T, sizeof T/sizeof * T)); ' – pmg

답변

0

아니오

그러나 o이 배열 T의 모든 요소와 같은지 확인하는 함수를 정의하고 1을 반환 할 수 있습니다. 그런 다음 조건에서이 함수를 호출하여 동등성을 확인하십시오. 1

2

C에서 조건을 사용하여 루프를 사용할 수 있습니까? 함수가 필요하다

아니, 당신은 할 수없는, 뭔가 같은 :

#include <stdio.h> 

int fn(int *arr, int n, int x) 
{ 
    int i; 

    for (i = 0; i < n; i++) { 
     if (arr[i] == x) return 0; 
    } 
    return 1; 
} 

int main(void) 
{ 
    int o, arr[] = {1, 2, 3}; 
    size_t n = sizeof(arr)/sizeof(arr[0]); 

    do { 
     printf("Entrer le nombre\n"); 
     scanf("%d", &o); 
    } while (fn(arr, n, o)); 
    return 0; 
} 

또는 bsearch 및 비교 기능 사용 :

#include <stdio.h> 
#include <stdlib.h> 

int comp(const void *a, const void *b) 
{ 
    return (*(int *)a - *(int *)b); 
} 

int main(void) 
{ 
    int o, arr[] = {1, 2, 3}; 
    size_t n = sizeof(arr)/sizeof(arr[0]); 

    do{ 
     printf("Entrer le nombre\n"); 
     scanf("%d", &o); 
    } while (!bsearch(&o, arr, n, sizeof(int), comp)); 
    return 0; 
} 
관련 문제