c 언어 는 두 값 이 서로 교환 되 는 함 수 를 실현 한다.
1、
#include <stdio.h>
void swap(int n1, int n2)
{
int tmp;
tmp = n1;
n1 = n2;
n2 = tmp;
}
int main(void)
{
int a, b;
puts("please input two integers.");
printf("a = "); scanf("%d", &a);
printf("b = "); scanf("%d", &b);
swap(a, b); //a、b n1 n2,n1 n2 , ,n1 n2 a、b , a,b
printf("swapped a = %d
", a);
printf("swapped b = %d
", b);
return 0;
}
2.지침 을 실 삼 으로 하여 이 지침 이 가리 키 는 대상,즉 실 삼 을 수정 할 수 있다.
#include <stdio.h>
void swap2(int *n1, int *n2)
{
int tmp;
tmp = *n1;
*n1 = *n2;
*n2 = tmp;
}
int main(void)
{
int a, b;
puts("please input two integers.");
printf("a = "); scanf("%d", &a);
printf("b = "); scanf("%d", &b);
swap2(&a, &b); // a b n1 n2,n1 n2 a b ,*n1 *n2 a b , *n1 n2 , a b
printf("
swapped a = %d
",a);
printf("swapped b = %d
", b);
return 0;
}
ps:C 언어 구현 양수 교환 함수
우 리 는 간단 한 중간 변수 t 를 도입 하여 두 개의 수치 교환 을 할 수 있다.
int t;
t=x;
x=y;
y=t;
그러나 swap(int x,int y)가 호출 되 었 을 때 실제 인삼 은 복사 본 을 초기 화 했 고 함수 가 호출 전달 하 는 실제 인삼 자체 에 접근 하지 않 았 기 때문에 실제 인삼 의 값 을 수정 하지 않 았 습 니 다.그럼 다음 함수
void swap(int x, int y)
{
int t;
t=x;
x=y;
y=t;
}
교환의 목적 을 달성 하지 못 할 것 이다.C++에서 우 리 는 인용 형 삼 을 사용 하여 목적 을 달성 할 수 있다.
void swap(int &x, int &y)
{
int t;
t=x;
x=y;
y=t;
}
그러면 C 언어 에서 교환 함 수 를 어떻게 실현 합 니까?포인터 값 교환 실현
#include<stdio.h>
void swap(int *x, int *y)
{
int t;
t=*x;
*x=*y;
*y=t;
}
int main()
{
int a=1,b=2;
swap(&a,&b);
printf("a=%d,b=%d",a,b);
return 0;
}
c 언어 가 두 값 을 서로 교환 하 는 함수 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 c 언어 두 값 교환 함수 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
c 언어 간단한 파일 r/w 조작 방법데이터의 입력과 출력은 거의 모든 C 언어 프로그램과 수반된다. 입력이란 원본에서 데이터를 얻는 것이다. 출력은 단말기에 데이터를 쓰는 것으로 이해할 수 있다.이곳의 원본은 키보드, 마우스, 하드디스크, 시디, 스캐...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.