Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C 언어에서 임시 변수를 사용하지 않고 두 배열을 바꾸는 방법은 무엇입니까?

<시간/>

Temp 변수를 사용하지 않고 두 개의 배열을 교환합니다. 여기서는 세 번째 변수 대신 산술 연산자와 비트 연산자를 사용합니다.

첫 번째 배열을 읽는 논리 다음과 같습니다 -

printf("첫 번째 배열 요소 입력:\n");for(i =0; i <크기; i++){ scanf("%d", &first[i]);}

두 번째 배열을 읽는 논리 다음과 같습니다 -

printf("첫 번째 배열 요소 입력:\n");for(i =0; i <크기; i++){ scanf("%d", &first[i]);}

세 번째 변수를 사용하지 않고 두 배열을 교환하는 논리 다음과 같습니다 -

for(i =0; i <크기; i++){ first[i] =first[i] + sec[i]; 초[i] =첫 번째[i] - 초[i]; 첫 번째[i] =첫 번째[i] - 초[i];}

프로그램

다음은 Temp 변수를 사용하지 않고 두 개의 배열을 교환하는 C 프로그램입니다 -

#includeint main(){ int size, i, first[20], sec[20]; printf("배열의 크기를 입력하세요:"); scanf("%d", &크기); printf("첫 번째 배열 요소를 입력하세요:\n"); for(i =0; i <크기; i++){ scanf("%d", &first[i]); } printf("두 번째 배열 요소를 입력하세요:\n"); for(i =0; i <크기; i ++){ scanf("%d", &sec[i]); } // 두 개의 배열 교환 for(i =0; i  

출력

위의 프로그램이 실행되면 다음과 같은 결과가 생성됩니다 -

배열의 크기를 입력하세요:5첫 번째 배열을 입력하세요 ele:11 12 13 14 15두 번째 배열을 입력하세요 ele:90 80 70 60 505개 요소를 교환한 후 첫 번째 배열90 80 70 60 50초 후에 5개 요소를 교환한 후 배열11 12 13>14 15