2014-09-20 3 views
-4

저는 프로그래밍에 익숙하지 않고 현재 프로그램에서 작업하고 있습니다 (거의 완료되지 않은 상태입니다). 그러나 어떻게 작동하지 않으며 왜 작동하지 않는지 알 수 없습니다. 나는C 프로그램에서 루프가있는 문제

#include <stdio.h> 

int main(void) 
{ 
    printf("Welcome to the ROBOT GAME!\n" 
      "Please enter the column of your starting point. Keep numbers in the range of one to three.\n"); 

    int a, b; 
    if(1<=a<=3); 
    { 
     scanf("%i", &a); 
    } 
    else 
     { 
     printf("Sorry try again."); 
     } 

    printf("Please enter the row of your starting point. Keep numbers in the range of one to three.\n"); 
    if(1>=b<=3); 
     scanf("%i", &b); 
    printf("What is your next move? Pick\n" 
      "1.Right\n" 
      "2.Left\n" 
      "3.Up\n" 
      "4.Down\n"); 

} 
+3

기본 C 자습서를 읽으십시오. –

+1

'C 프로그램의 루프 문제'where is loops ?? ['C'에 대한 기본적인 지식이 필요합니다.] –

+0

'if (<= 2 = 3)'뒤에';'를 제거하십시오. – Rustam

답변

0

많은 여기에 문제의가있는 '경우'와 '다른'뭔가 누락해야합니다.

if(1<=a<=3); 
     ^
:

1<=a<=3 

를 대신 세미콜론과 if 문을 따르지 않는, 또한

1 <=a && a <= 3 

이 필요합니다 : 첫째, 이것은 당신이 뜻 무슨 생각을 의미하지 않는다

그 위에, scanf()을 수행해야합니다. 전에 유효한지 확인하십시오. 대신 if(1<=a<=3);

0

if(1>=b<=3); 쓰기 if(b>=1 && b<=3)

없이 세미콜론에 대한 if(a>= 1 && a <= 3) 같은 물품. 해당 프로그래밍 언어에서 다른 구문이 있는지 확인하십시오. 그것은 아주 기본적으로 알고 있습니다.

0

이것은 프로그래밍의 측정 범위가 아닙니다. 측정하고자한다면

AND 연산자를 사용해야합니다.

if(a>=1 && a<=3) { 

} 

같은

하지만이 여기에 작동하지 않습니다. ab에 대한 지정이 없습니다. a와 b에 어떤 값을 할당해야합니다. 먼저 ifloop이 C에서 어떻게 작동하는지 몇 가지 기본 자습서를 읽으십시오. 그러면 쉽습니다. :)

1

먼저 버그

int a, b; 
if(1<=a<=3); 

당신은 어떻게 a 심지어는 초기화되지 않은 상태 if에서 확인할 수 있습니다? 먼저 (1와) ab에 값을 초기화하여 수정 그런 다음 수정 셋째 버그에 갈

if(1<=a<=3); 

; 조건 if 후 제거 둘째 버그

두 번째 버그를 해결하기 위해 갈

제 3의 버그

if(1<=a<=3); 

은 원하는 것을 수행하지 않습니다.그것은해야한다

if(a>= 1 && a <= 3) 

에 대해서도 마찬가지이다. 이것을 해결하기 위해 위의 모든 단계를 따르십시오.

넷째 버그

당신은 int main(void) 있습니다. 따라서 return 0이 끝날 때까지 main

1

또한 변수를 정의하지만 선언하지 않는 것은 나쁜 습관입니다.

int a, b; 

값을 할당하지 않으며 포함 할 내용을 확신 할 수 없습니다. 더 나은 것입니다

int a = 1; 
int b = 1; 
관련 문제