내가 10개 숫자를 하나씩 더하고싶어요
그래서
#include <stdio.h>
int main() {
int num = { 1,2,3,11,9,3,2,7,10,1 };
int plus = 0;
int i = 0;
while (num[i < 10]) {
plus += num[i];
i++;
}
printf("이 배열의 합은 %d입니다. ", plus);
}
이런 식으로 만들었어요.
num 배열에 while안에서 num[0]부터 num[9]까지 plus에 더해주고 마지막에 printf로 배열의 합을 보여주겠지? 라고 생각했는데
막상 실행을 해보니
C:UsersLEEsource eposProject2DebugProject2.exe(프로세스 12456개)이(가) 종료되었습니다(코드: -1073741819개).
이 창을 닫으려면 아무 키나 누르세요...
아무것도 뜨지않았어요.
어디에서 무슨 문제가 생긴건가요?
초기화는 제대로 한것같은데...
참고로 int num다음에 대괄호열고 10 닫고했어요...
num[i < 10] <- 이거 이상해요.
앗... 그렇군요...
while(num[i<10] - > while(i<10)
애초에 컴파일되는게 신기하네 ㅋㅋ i<10 이면 참이면 1이고 거짓이면 0으로 들어가는건가?
감사합니다. 제 지능으로는 배열조차 버겁습니다... 조건 넣을때 신경을 더 써야겠습니다
그렇다. 즉 num[0] 또는 num[1] 이 0이 아닌지 확인하는 조건이 되고, 두 값은 각각 1과 2이므로 while (1) 과 똑같은 의미가 된다
while 저게 됨?
알고나니 더 신기하네요... 왜 컴파일이 되지...
0 이나 1 나올거 같은데. c 에서는 저게 됨.
성이 이 씨니?
네!