C언어 배열 부분입니다.
예를 들어 str[5]라고 하면 0~4까지 쓰는데요
이것이 문자열일 경우에는 마지막에 null문자가 들어가는 걸로 알고 있습니다
그런데 이런 경우에는 엉뚱한 값이 나오더군요.
#include <stdio.h>
int main(void)
{
double total;
double val[5];
val[0]=1.01;
val[1]=2.02;
val[2]=3.03;
val[3]=4.04;
val[4]=5.05;
val[5]=6.06;
printf("%lf\n",val[5]);
total=val[0]+val[1]+val[2]+val[3]+val[4]+val[5];
printf("평균 : %lf \n",total/6);
printf("%lf\n",val[0]);
printf("%lf\n",val[1]);
printf("%lf\n",val[2]);
printf("%lf\n",val[3]);
printf("%lf\n",val[4]);
printf("%lf\n",val[5]);
return 0;
}
결과는 printf("%lf\n",val[5]); 값만 21.21000 뭐 이런식으로 떳습니다. 토탈값과 같네요
처음에 출력시에는 6.06 그대로 나오다가 다시 한번 출력하라 했더니 저렇게 되네요
왜 그럴까요
물론 저렇게 쓰면 안되는 것은 잘 알고 있습니다. |