目录
关于比较大小的方法
1.通过if....else语句来进行判断大小
#include <stdio.h>
int com(int a, int b) {//com代表比较
if (a > b) {
return a;
}
else return b;
}
void main()
{
int a = 10;
int b = 7;
int c = com(a, b);
printf("%d", c);
}
2.通过条件操作符进行比较
#include <stdio.h>
int com(int a, int b) {//com代表比较
return a > b? a : b;//条件操作符 exp1 ? exp2 : exp3
}
void main()
{
int a = 10;
int b = 7;
int c = com(a, b);
printf("%d", c);
}
如果满足a > b,则将冒号前面的数字输出,如果不满足,则输出后面的数字,可以通过条件比较符来比较两个数的大小。
关于交换两种数字的方法
1.创建一个临时空间,用于交换数字
include <stdio.h>
void main()
{
int a = 3;
int b = 7;
printf("a = %d,b = %d\n",a,b);
int temp = a;//创建一个临时空间
a = b;
b = temp;
printf("a = %d,b = %d\n", a,b);
}
2.不创建临时空间,用加减来交换变量
这种方法的局限性是,不能超过对应类型的大小。
#include <stdio.h>
void main()
{
int a = 3;
int b = 7;
printf("a = %d,b = %d\n",a,b);
//此类方法的局限性是不能超过对应类型本身的大小
a = a + b;
b = a - b;
a = a - b;
printf("a = %d,b = %d\n", a,b);
}
3.不创建临时空间,用异或来交换数字
#include <stdio.h>
void main()
{
int a = 3;//0000 0011
int b = 7;//0000 0111
printf("a = %d,b = %d\n",a,b);
a = a ^ b;//0000 0100
b = a ^ b;//0000 0011->3
a = a ^ b;//0000 0111->7
printf("a = %d,b = %d\n", a,b);
}