2014-02-11 5 views
3

ch를 사용하여 어레이의 for 루프를 만들었습니다.이 루프는 그 바로 전에 배열 값의 두 배를 생성하지만 동일한 오류 메시지가 계속 나타납니다. 오, 나는 또한 ch로 이것을 만들고 있기 때문에, 만약 내 에러가 그 코드와 관련이 있는지 또는 내 코드가 결함이 있는지 확실하지 않다. 여기 내 코드는 지금까지이며, 그것은 작동합니다 것 같은 느낌,하지만 난 뭔가 놓치고 알고배열을 사용하여 for 루프를 수행하는 방법은 무엇입니까?

ch> int a[10] 
ch> int i 
ch> for (i=1; i<10; i++)\ 
ch>  a[i] = 2 * a[i-1] 

내 코드와 나는이 출력을 기대

ch> a[9] 
512 

대신 I 얻을

ch> a[9] 
0 

내가

012 즉, for 루프에서, 옆에 목록 측으로 오른쪽 정렬을 모두 9 개 값을 인쇄 할 수 있도록하고 싶습니다

그리고 printf ("% i % -5i", i, a [i])와 같이 오른쪽 정렬하려고 할 때; 내가 TI는 위와 같이 인쇄하고 싶은 경우 상한 9

10 512 

보다 첨자 큰 값 10 :

나는 오류 경고를 얻을.

+0

을 "하지만 난 같은 오류 메시지가 표시 계속"나는 생각하지 않는다 그래서. 적어도 나는 당신의 질문에 아무 것도 보지 못합니다. 실수가 있었다면 분명히 우리에게 말 했겠지, 그렇지? – glglgl

+0

BTW,이 불길한'ch' 무엇입니까? – glglgl

+0

'Ch'는 http://www.softintegration.com의 교육용 C 통역사입니다. –

답변

5

a[0]을 초기화하지 않았으므로 그 이유는 기본적으로 0으로 설정되어 있기 때문입니다. a[1] = 2*a[0]부터 0과 같고 다음 값은 모두 0이됩니다.

루프가 시작되기 전에 a[0] = 1를 수행하고 다음해야 당신이 두 개의 힘을 얻을 것이다 :

a[0] = 1 = 1 
a[1] = 1*2 = 2 
a[2] = 2*2 = 4 
... 
+3

'0'과 같을 수 있습니다. 그것은 정의되지 않았지만 OP에서는 '0'이되었습니다. – Paulpro

+0

"있을 ​​것입니다"를 "아마도"로 변경했습니다. –

관련 문제