while 루프 (z == 0)를 z == 0으로 한 번만 설정 한 후 여러 번 실행되는 이유는 무엇입니까?

루안 스틴
#include <stdio.h>
int main(void) {

    int x,y,z=0,number,digit;
    char c;
    int sum = 0;
    int temp = 0;

    while (z==0){

        printf("enter 2-9 for hex\n");
        scanf("%c",&c);
        x = (int)c-48;
        if((int)c>49 && (int)c<59){
            printf("enter number");
            scanf("%d",&number);
            break;
        }
        else if ((int)c<50 || (int)c>58){
            printf("wrong number\n");
            z==0;
        }
        else
            printf("error");
            z==0;

    }
while (number != 0) {
        digit = number % 10;
        number = number / 10;
        if (digit >= x) {
            printf("wrong input!!!");
            return 0;
        }
        else {
            int temp1 = temp;
            if (temp1 == 0) {
                digit = digit * 1;
            }
            else {
                while (temp1 != 0) {
                    digit = digit * x;
                    temp1--;
                }
            }
        }
        sum = sum + digit;
        temp = temp + 1;
    }
    printf("\nThe number in Decimal is:%d", sum);

}

이것은 내 코드로, 16 진수를 십진수로 변환하는 것에 관한 것입니다. 질문은 내가 2-9를 입력하면 모든 것이 좋지만 1을 입력하면 첫 번째 while 루프는 2 번, 10-99를 입력하면 3 번 반복됩니다. 100-999를 입력하면 4 번 반복됩니다.

Z == 0으로 설정 한 후에도 여전히 여러 번 실행되는 이유는 무엇입니까?

ReMadWeb

상황은 z의 조건이 항상 사실입니다. 시작 조건 iz == 0, 이것은 while 루프를 시작합니다. while 루프는 z가 0이 아닐 때 멈 춥니 다. 따라서 while 루프의 어딘가에서 z를 0이 아니도록 변경해야합니다. 그런 다음 while 루프가 중지됩니다. 그리고 if-else에는 닫고 여는 "{}"를 사용하십시오. 이는 가독성을 높이고 도움을줍니다.

예를 들면 :

#include <stdio.h>
int main(void) {

    int x,y,z=0,number,digit;
    char c;
    int sum = 0;
    int temp = 0;

    while (z==0){

        printf("enter 2-9 for hex\n");
        scanf("%c",&c);
        x = (int)c-48;
        if((int)c>49 && (int)c<59){
            printf("enter number");
            scanf("%d",&number);
            break;
        }
        else if ((int)c<50 || (int)c>58){
            printf("wrong number\n");
            z==0;
        }
        else {
            printf("error");
            z==0;
}
z = 1;
    }
while (number != 0) {
        digit = number % 10;
        number = number / 10;
        if (digit >= x) {
            printf("wrong input!!!");
            return 0;
        }
        else {
            int temp1 = temp;
            if (temp1 == 0) {
                digit = digit * 1;
            }
            else {
                while (temp1 != 0) {
                    digit = digit * x;
                    temp1--;
                }
            }
        }
        sum = sum + digit;
        temp = temp + 1;
    }
    printf("\nThe number in Decimal is:%d", sum);
}

도움이 되었기를 바랍니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

이 루프가 한 번만 실행되는 이유는 무엇입니까?

분류에서Dev

내 루프가 한 번만 실행되는 이유는 무엇입니까?

분류에서Dev

루프가 한 번만 실행되는 이유는 무엇입니까?

분류에서Dev

내 루프가 한 번만 실행되는 이유는 무엇입니까?

분류에서Dev

Bash-루프를 한 번만 실행하는 방법은 무엇입니까?

분류에서Dev

각 문자를 여러 자리 이동 한 후 알파벳순으로 z에서 a, Z에서 A를 감싸는 방법은 무엇입니까?

분류에서Dev

for 루프가 한 번만 실행되는 것처럼 보이는 이유는 무엇입니까?

분류에서Dev

while 루프는 한 번만 실행됩니까?

분류에서Dev

생성기가 for 루프로 한 번만 진행되는 이유는 무엇입니까?

분류에서Dev

이 자바 스크립트 for 루프가 한 번만 실행되는 이유는 무엇입니까?

분류에서Dev

조건이 충족 된 후 while 루프를 한 번 더 실행

분류에서Dev

Python에서 한 번에 여러 while 루프를 실행하는 방법

분류에서Dev

중첩 while 루프는 한 번만 실행됩니다.

분류에서Dev

while 루프는 한 번만 실행됩니다.

분류에서Dev

arduino while 루프는 한 번만 실행됩니다.

분류에서Dev

Tensorflow while 루프는 한 번만 실행됩니다.

분류에서Dev

중첩 while 루프는 한 번만 실행됩니다.

분류에서Dev

Oncreate를 호출 한 후 매번 내 카운터가 재설정되는 이유는 무엇입니까?

분류에서Dev

한 번만 실행되는 For 루프

분류에서Dev

while 루프가 무한한 이유는 무엇입니까? 매번 변수를 변경하지만 조건은 항상 참입니다.

분류에서Dev

루프는 처음 호출 될 때 한 번만 실행되고 두 번째로 무한 실행됩니다.

분류에서Dev

for 루프 루프가 한 번만 발생하는 이유는 무엇입니까?

분류에서Dev

이 bash for 루프가 한 번만 반복되는 이유는 무엇입니까?

분류에서Dev

함수를 몇 번 실행하는데 출력이 한 번만 반환되는 이유는 무엇입니까?

분류에서Dev

내 프로그램이 복사 생성자를 여러 번 호출 한 이유는 무엇입니까?

분류에서Dev

동일한 Eclipse 프로젝트를 동시에 여러 번 실행하는 방법은 무엇입니까?

분류에서Dev

CreateProcess를 여러 번 또는 한 번만 호출 할 때 정확히 두 개의 핸들이 누출되는 이유는 무엇입니까?

분류에서Dev

mongodb로 한 번의 여행으로 여러 집계를 실행하는 방법은 무엇입니까?

분류에서Dev

한 번 실행 후 while 루프를 중단 하시겠습니까? 루비

Related 관련 기사

  1. 1

    이 루프가 한 번만 실행되는 이유는 무엇입니까?

  2. 2

    내 루프가 한 번만 실행되는 이유는 무엇입니까?

  3. 3

    루프가 한 번만 실행되는 이유는 무엇입니까?

  4. 4

    내 루프가 한 번만 실행되는 이유는 무엇입니까?

  5. 5

    Bash-루프를 한 번만 실행하는 방법은 무엇입니까?

  6. 6

    각 문자를 여러 자리 이동 한 후 알파벳순으로 z에서 a, Z에서 A를 감싸는 방법은 무엇입니까?

  7. 7

    for 루프가 한 번만 실행되는 것처럼 보이는 이유는 무엇입니까?

  8. 8

    while 루프는 한 번만 실행됩니까?

  9. 9

    생성기가 for 루프로 한 번만 진행되는 이유는 무엇입니까?

  10. 10

    이 자바 스크립트 for 루프가 한 번만 실행되는 이유는 무엇입니까?

  11. 11

    조건이 충족 된 후 while 루프를 한 번 더 실행

  12. 12

    Python에서 한 번에 여러 while 루프를 실행하는 방법

  13. 13

    중첩 while 루프는 한 번만 실행됩니다.

  14. 14

    while 루프는 한 번만 실행됩니다.

  15. 15

    arduino while 루프는 한 번만 실행됩니다.

  16. 16

    Tensorflow while 루프는 한 번만 실행됩니다.

  17. 17

    중첩 while 루프는 한 번만 실행됩니다.

  18. 18

    Oncreate를 호출 한 후 매번 내 카운터가 재설정되는 이유는 무엇입니까?

  19. 19

    한 번만 실행되는 For 루프

  20. 20

    while 루프가 무한한 이유는 무엇입니까? 매번 변수를 변경하지만 조건은 항상 참입니다.

  21. 21

    루프는 처음 호출 될 때 한 번만 실행되고 두 번째로 무한 실행됩니다.

  22. 22

    for 루프 루프가 한 번만 발생하는 이유는 무엇입니까?

  23. 23

    이 bash for 루프가 한 번만 반복되는 이유는 무엇입니까?

  24. 24

    함수를 몇 번 실행하는데 출력이 한 번만 반환되는 이유는 무엇입니까?

  25. 25

    내 프로그램이 복사 생성자를 여러 번 호출 한 이유는 무엇입니까?

  26. 26

    동일한 Eclipse 프로젝트를 동시에 여러 번 실행하는 방법은 무엇입니까?

  27. 27

    CreateProcess를 여러 번 또는 한 번만 호출 할 때 정확히 두 개의 핸들이 누출되는 이유는 무엇입니까?

  28. 28

    mongodb로 한 번의 여행으로 여러 집계를 실행하는 방법은 무엇입니까?

  29. 29

    한 번 실행 후 while 루프를 중단 하시겠습니까? 루비

뜨겁다태그

보관