Q. 다음 C 언어로 구현된 프로그램을 분석하여 괄호 (1), (2)에 가장 적합한 답을 쓰시오.
예) 1234567을 입력받으면 결과는 1+2+3+4+5+6+7 = 28 출력
#include <stdio.h>
main() {
int input, num = 0;
scanf("%d", &input);
while (1) {
if ( ( 1 ) == 0) {
break;
}
sum = sum + input % 10;
input = input / ( 2 );
}
printf("%d\n", sum);
}
input에 값을 넣는 scanf에서 정수만 받는다 했을 뿐이지
input 자체가 정수타입은 아니지 않나요?
댓글: 네, 맞아요. input은 변수 이름이에요. 변수의 타입은 int로 선언되어 있지만, 사용자가 입력한 값은 문자열로 받아서 정수로 변환하여 저장하게 되는 거에요. 그래서 scanf 함수에서 %d를 사용해서 정수로 입력받는 거에요.
int input이면 변수 input의 자료형은 정수입니다
아 그렇네요 js만 하다가 올만에 c 보니깐 뇌가 타버린 듯 ㅠ