합계에 대한 올바른 값을 얻지 못하는 이유는 무엇입니까?

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

int sumArray(int* p);

int main(){

    int array[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, sum;
    int* p = array;
    sum = printf("The sum of the array is: %d", sumArray(p));
    return 0;
}

int sumArray(int* p){

    int sum = 0;
    while(*p){
        sum += *p;
        p++;
    }
    return sum;
}

이 코드를 실행하면 주소처럼 보이는 합계에 대해 6 자리 값을 얻습니다. 그래서 내가 여기서 정확히 뭘 잘못하고 있니?

고 빈드 파마

while(*p)null로 끝나는 유용한 속성을 가지고 있기 때문에 C에서 문자열 을 처리하는 꽤 관용적 인 방법입니다 . 널 종료 자 (숫자 값이 0 인 문자)에 도달하면 *p0이되고 루프가 종료됩니다.

배열에이 속성이 없으므로 배열 while(*p)의 전체 길이에 대해 true이며 정의되지 않은 동작 인 범위를 벗어납니다.

옵션은 다음과 같습니다.

  1. 배열과 함께 크기를 전달하고 int i = 0; while (i < LENGTH){}관용적으로 사용하십시오.for(int i = 0; i < LENGTH; i++)
  2. 지정된 센티넬 값을 사용하여 배열의 끝을 표시하고 while (*p != SENTINEL)

이전 옵션은 번거롭지 않으며 임의 int의 것을 매직 넘버로 지정할 필요가 없습니다 .

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

내 변수가 Firestore에서 올바른 값을받지 못하는 이유는 무엇입니까?

분류에서Dev

파일을 스캔 할 때 scanf (c Linux vi)에서 올바른 char 값을 얻지 못하는 이유는 무엇입니까?

분류에서Dev

이 노드에서 올바른 값을 얻을 수없는 이유는 무엇입니까?

분류에서Dev

올바른 위치에 올바른 문자열을 추가하지 않는 이유는 무엇입니까?

분류에서Dev

올바른 곱셈 출력을 얻지 못하는 이유는 무엇입니까?

분류에서Dev

내 목록에서 올바른 수의 개체를 얻지 못하는 이유는 무엇입니까?

분류에서Dev

getServerSideProps가 구성 요소 소품에 올바른 값을 전달하지 않는 이유는 무엇입니까?

분류에서Dev

내 Bash 스크립트가이 프로젝트 오일러에 대한 올바른 답을 반환하지 않는 이유는 무엇입니까?

분류에서Dev

이메일을 통해 올바른 행에서 값을 보내지 않는 이유는 무엇입니까?

분류에서Dev

내 AJAX 요청이 드롭 다운 메뉴에서 올바른 값을받지 못하는 이유는 무엇입니까?

분류에서Dev

플로피에 대한 올바른 vfat 경로 변환을 얻는 방법은 무엇입니까?

분류에서Dev

Multistore Magento에 대한 올바른 제품 URL을 얻는 방법은 무엇입니까?

분류에서Dev

Java는 vars에 대한 올바른 값을 얻을 수 없습니다.

분류에서Dev

OpenScad에서 cos에 대한 올바른 값을 얻지 못함

분류에서Dev

내 함수가 올바른 입력 선택을 감지하지 못하는 이유는 무엇입니까?

분류에서Dev

char, double 및 float에 대한 올바른 지정자는 무엇입니까?

분류에서Dev

배열에 대해 올바른 값을 반환하지 않는 메서드입니다. 내가 무엇을 잘못하고 있지?

분류에서Dev

올바른 권한을 가진 사용자에 대한 액세스를 제한하는 보안 페이지를 만드는 방법은 무엇입니까?

분류에서Dev

Scala가 Double에 대한 간단한 추가에 대해 정확한 답을 얻지 못하는 이유는 무엇입니까?

분류에서Dev

Apiary 콘솔이이 API Blueprint에 대해 올바른 응답을 제공하지 않는 이유는 무엇입니까?

분류에서Dev

Chrome / Firefox가 올바른 문자 인코딩을 선택하지 못하는 이유는 무엇입니까?

분류에서Dev

리버가 올바른 PIN을 추측하지 못하는 이유는 무엇입니까?

분류에서Dev

내 if 문이 두 개의 중첩 된 성능에서 올바른 출력을 결정하지 못하는 이유는 무엇입니까?

분류에서Dev

내 프로그램이 프로젝트 오일러 17에 대해 올바른 답을 인쇄하지 않는 이유는 무엇입니까?

분류에서Dev

신속한 OSX에서 올바른 URL 경로를 얻지 못하는 이유

분류에서Dev

내 editText가 Android에서 올바른 출력을 표시하지 않는 이유는 무엇입니까?

분류에서Dev

MATLAB을 사용하여 올바른 푸리에 변환 된 이미지를 얻을 수없는 이유는 무엇입니까?

분류에서Dev

Ubuntu에서 올바른 화면 해상도를 얻을 수없는 이유는 무엇입니까?

분류에서Dev

JSON에 대한 올바른 언어는 무엇입니까

Related 관련 기사

  1. 1

    내 변수가 Firestore에서 올바른 값을받지 못하는 이유는 무엇입니까?

  2. 2

    파일을 스캔 할 때 scanf (c Linux vi)에서 올바른 char 값을 얻지 못하는 이유는 무엇입니까?

  3. 3

    이 노드에서 올바른 값을 얻을 수없는 이유는 무엇입니까?

  4. 4

    올바른 위치에 올바른 문자열을 추가하지 않는 이유는 무엇입니까?

  5. 5

    올바른 곱셈 출력을 얻지 못하는 이유는 무엇입니까?

  6. 6

    내 목록에서 올바른 수의 개체를 얻지 못하는 이유는 무엇입니까?

  7. 7

    getServerSideProps가 구성 요소 소품에 올바른 값을 전달하지 않는 이유는 무엇입니까?

  8. 8

    내 Bash 스크립트가이 프로젝트 오일러에 대한 올바른 답을 반환하지 않는 이유는 무엇입니까?

  9. 9

    이메일을 통해 올바른 행에서 값을 보내지 않는 이유는 무엇입니까?

  10. 10

    내 AJAX 요청이 드롭 다운 메뉴에서 올바른 값을받지 못하는 이유는 무엇입니까?

  11. 11

    플로피에 대한 올바른 vfat 경로 변환을 얻는 방법은 무엇입니까?

  12. 12

    Multistore Magento에 대한 올바른 제품 URL을 얻는 방법은 무엇입니까?

  13. 13

    Java는 vars에 대한 올바른 값을 얻을 수 없습니다.

  14. 14

    OpenScad에서 cos에 대한 올바른 값을 얻지 못함

  15. 15

    내 함수가 올바른 입력 선택을 감지하지 못하는 이유는 무엇입니까?

  16. 16

    char, double 및 float에 대한 올바른 지정자는 무엇입니까?

  17. 17

    배열에 대해 올바른 값을 반환하지 않는 메서드입니다. 내가 무엇을 잘못하고 있지?

  18. 18

    올바른 권한을 가진 사용자에 대한 액세스를 제한하는 보안 페이지를 만드는 방법은 무엇입니까?

  19. 19

    Scala가 Double에 대한 간단한 추가에 대해 정확한 답을 얻지 못하는 이유는 무엇입니까?

  20. 20

    Apiary 콘솔이이 API Blueprint에 대해 올바른 응답을 제공하지 않는 이유는 무엇입니까?

  21. 21

    Chrome / Firefox가 올바른 문자 인코딩을 선택하지 못하는 이유는 무엇입니까?

  22. 22

    리버가 올바른 PIN을 추측하지 못하는 이유는 무엇입니까?

  23. 23

    내 if 문이 두 개의 중첩 된 성능에서 올바른 출력을 결정하지 못하는 이유는 무엇입니까?

  24. 24

    내 프로그램이 프로젝트 오일러 17에 대해 올바른 답을 인쇄하지 않는 이유는 무엇입니까?

  25. 25

    신속한 OSX에서 올바른 URL 경로를 얻지 못하는 이유

  26. 26

    내 editText가 Android에서 올바른 출력을 표시하지 않는 이유는 무엇입니까?

  27. 27

    MATLAB을 사용하여 올바른 푸리에 변환 된 이미지를 얻을 수없는 이유는 무엇입니까?

  28. 28

    Ubuntu에서 올바른 화면 해상도를 얻을 수없는 이유는 무엇입니까?

  29. 29

    JSON에 대한 올바른 언어는 무엇입니까

뜨겁다태그

보관