inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

문제로 배우는 C언어

배열의 회전

질문 드립니다!

185

eagle1129

작성한 질문수 9

0

#include<stdio.h>

int main(){

int arr[9],i,j,k,tmp;

for(i=0;i<=8;i++){

scanf("%d",&arr[i]);}

scanf("%d",&k);

 for(i=1;i<=k;i++){

  tmp=arr[0];

for(j=0;j<8;j++){

arr[j]=arr[j+1];}

arr[j]=tmp;

}

for(i=0;i<=8;i++){

printf("%d ",arr[i]);}

return 0;} 

의 식과

#include<stdio.h>

int main(){

int arr[9],i,j,k;

for(i=0;i<=8;i++){

scanf("%d",&arr[i]);}

scanf("%d",&k);

 for(i=1;i<=k;i++){

  

for(j=0;j<8;j++){

arr[j]=arr[j+1];}

arr[j]=arr[0];

}

for(i=0;i<=8;i++){

printf("%d ",arr[i]);}

return 0;}의 식이 왜 출력값이 다르게 나오는지 궁금합니다..

즉,왜 곧바로 arr[j]==arr[0]로 하면 나오는 출력값과  tmp를 만들어 tmp=arr[0]으로 잡고 arr[j]=tmp로 나오는 출력값이 다른지 궁금합니다

c

답변 1

0

김태원

안녕하세요^^

tmp에 arr[0]을 저장하지 않고 바로 arr[j]=arr[j+1] 해버리면 arr[0]번 값은 사라져버립니다.

음료수 자판기 출력이 이상하게 나옵니다

0

141

2

i 값 초기화 질문

0

70

2

recipe for targe 'AA.exe' failed

0

62

1

30과 10의 xor

0

191

1

커리큘럼 문의 드립니다

0

232

1

for문에서 sum 관련 질문

0

179

1

이렇게 풀어도 맞는걸까요?

0

253

2

이렇게 풀어도 맞는 풀이일까요?

0

302

1

20페이지 홀,짝,제로 문제에서 이 코드로 짜도 괜찮을까요?

0

257

1

24. 최솟값 구하기

0

333

1

질문 있습니다.

0

324

1

배열을 전역변수로 설정하는 이유

1

666

1

41. A를 #으로에서 질문 있습니다.

0

291

1

20번 소수 판별하기에서 질문 있습니다.

0

423

1

42번 bus error;;;

0

612

1

정수형 배열에서 배열 크기

0

395

1

38. 자리찾기 커지는 방향으로..

0

303

1

37. 배열의 회전에서 ...

0

280

1

1차원 배열에서

0

270

1

지수연산에서

0

300

1

7.연필 개수 문제

0

381

1

a=(int)a 에서 왜 괄호를 붙이나요 a=int a 는 왜안되나요

0

846

1

섹션 6. 소수

0

322

1

왜 2중for문을 두개 쓴건가요?

0

241

1