交换两个变量
来源:互联网 发布:网络众筹是什么意思 编辑:程序博客网 时间:2024/05/18 14:44
第一种:创建临时变量
1.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i = 0;
int j = 0;
scanf("%d%d", &i, &j);
int t = 0;
t = i;
i = j;
j = t;
printf("%d %d\n", i, j);
system("pause");
return 0;
}
2.使用函数( swap() )
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
void swap(int *pi, int *pj)
{
int temp = 0;
temp = *pi;
*pi = *pj;
*pj = temp;
}
int main()
{
int i = 0;
int j = 0;
scanf("%d%d", &i, &j);
swap(&i, &j);
printf("%d %d\n", i, j);
system("pause");
return 0;
}
第二种:不创建临时变量
1.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i = 0;
int j = 0;
scanf("%d%d", &i, &j);
i = i + j;
j = i - j;
i = i - j;
printf("%d %d\n", i, j);
system("pause");
return 0;
}
这种方法可能会溢出。
2.使用位运算。(最佳方法)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i = 0;
int j = 0;
scanf("%d%d", &i, &j);
i = i ^ j;
j = i ^ j;
i = i ^ j;
printf("%d %d\n", i, j);
system("pause");
return 0;
}
阅读全文
0 0
- 两个变量实现交换
- 关于交换两个变量
- 交换两个变量
- 交换两个变量
- 指针交换两个变量
- swap交换两个变量
- 交换两个变量方法
- 两个变量进行交换
- 交换两个变量
- 交换两个变量
- 两个变量实现交换
- 两个变量交换值
- 两个整形变量交换
- 交换两个变量
- 交换两个变量效率问题
- 交换两个变量的值
- 交换两个变量效率问题
- 交换两个变量的值
- 将Mat矩阵图像绘制在DC上
- event.srcElement与event.target的区别
- spring常用注解
- strcpy和strncpy用法和区别
- C#调用C++代码(CSharp Platform Invoke)
- 交换两个变量
- Flink集群部署详细步骤
- csdn 1104 Remainder
- 连接数据库类
- 图像分割"LIP: Self-supervised Structure-sensitive Learning and A New Benchmark for Human Parsing"
- 直接插入排序
- 有return的情况下try catch finally的执行顺序(最有说服力的总结)
- ARM开发(6) 基于STM32的矩阵键盘按键触发外部中断引起蜂鸣器鸣叫
- 利用ajax画表格