c언어 짝수합구하기 질문

조회수 729회

지금 코드짜는게 입력된 수까지 짝수 합을 구하는 겁니다.

#include <stdio.h>



int main(void) { 

int accumulate=0, input;

scanf_s("input value %d", &input);

for (int startnum = 1; startnum <= input; startnum++)
{
    if (startnum % 2 == 0)
    {
        accumulate += startnum;
    }

}

printf("cumulative %d", accumulate);
return 0;
}

이렇게 하면 0이 출력됩니다. 근데

#include <stdio.h>



int main(void){

int accumulate=0, input;

scanf_s("%d", &input);

for (int startnum = 1; startnum <= input; startnum++)
{
    if (startnum % 2 == 0)
    {
        accumulate += startnum;
    }

}

printf("%d", accumulate);

return 0;
}

이렇게 하면 정상적으로 출력이 됩니다. 두 함수의 차이점은 printf함수안에 있는 문자열을 지운 것 밖에 없습니다.

첫번째 함수가 오류 나는 이유가 뭔가요?

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • scanf_s의 문자열도 다른데요? scanf_s에는 입력받을 값의 타입을 알려주는 %가 붙은 문자 외에 다른 문자열을 넣으시면 안될 것 같아요 HIAOAIH 2020.5.12 18:38
  • 와..... 실수했네요.....ㅠㅠ저걸 왜 못봤지....감사합니다!!!! 알 수 없는 사용자 2020.5.12 18:52

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)