c语言(函数)

前言:

学习函数了,终于把循环学完了,

先就是写一个函数体(这是自建函数吧),比较两个值的大小,输出最大值

这里主要是三目运算符的运算,其他都还记得,

x > y ? x : y //就是x>y,返回x,如果x<y,返回y

复制代码
#include <stdio.h>

int get_max(int x,int y)
{
	return ((x > y) ? x : y);  //如果x>y,返回x,不是的话,返回y
}

int main()
{
	int a = 0;
	int b = 0;	
    //输入两个函数
	scanf("%d %d", &a, &b);
	//使用一个变量接收函数返回的最大值
	int m = get_max(a,b);
	
	printf("%d", m); 
	return 0;
}

第二个题目,写一个函数,交换两个整型变量的内容

错误演示

这里不知道这是内置的函数还是什么,居然没有返回值,很奇怪

就是说,我好像知道了

就是说只是改了x,y的值,然后就是a,b的值不变

然后就是我试着就是将int x, int y改成int a, int b,然后还是不行

我好像知道了,就是虽然是一样的字母,但是两个变量不一样,就不一样

复制代码
void Swap(int x, int y)
{
	int z = 0;
	z = x;
	x = y;
	y = z;
}

int main()
{
	int a = 0;
	int b = 0;
	//交换
	
	scanf("%d %d", &a, &b);
	printf("交换前:a=%d,b=%d", a, b);
	
	Swap(a, b);
	printf("交换后:a=%d,b=%d", a, b);
	return 0;
}

这里需要用到指针,然后就是直接改地址,然后他的值也就随着变了,

但是指针我好像忘了,得去复习了,晚上复习,然后就是先写题目吧

不晓得指针格式,我好像懂了

先写一下指针格式

复制代码
#include <stdio.h>
{
    int a = 10;
    int* p = &a;
    a = 20;    //直接改
    *p = 30;   //通过地址,然后间接的改他的值
    return 0;
}

然后就是这样写的,我晓得了

现在就是觉得这个指针的格式好奇怪,先看一下吧,

int* px = &a;

复制代码
#include <stdio.h>
                           
void Swap(int* px, int* py)  //不晓得指针的格式了,我晓得了
{                            //就是这里直接传入的参数,然后完整的格式是int* px = &a;
                             //int* py = &b;
	int z = 0;     //我知道这是地址,我看看
	z = *px;
	*px = *py;
	*py = z;
}

int main()
{
	int a = 0;
	int b = 0;
	//交换
	
	scanf("%d %d", &a, &b);
	printf("交换前:a=%d,b=%d", a, b);
	
	Swap(&a, &b);
	printf("交换后:a=%d,b=%d", a, b);
	return 0;
}
相关推荐
while(1){yan}3 分钟前
数据结构之堆
数据结构·python·算法
AA陈超5 分钟前
虚幻引擎5 GAS开发俯视角RPG游戏 P06-16 属性菜单 - 构建
c++·游戏·ue5·游戏引擎·虚幻
Lear20 分钟前
C语言与C++在基础语法上的区别
c语言
天***889632 分钟前
Edge浏览器无法安装扩展CRX_REQUIRED_PROOF_MISSING扩展的按钮开关为灰色,无法启用
c++
SleepyWhite00135 分钟前
代码随想录Day61|Floyd 算法精讲、A * 算法精讲
算法·floyd算法·astar算法
Miraitowa_cheems37 分钟前
LeetCode算法日记 - Day 84: 乘积为正数的最长子数组长度
数据结构·算法·leetcode·贪心算法·线性回归·深度优先·动态规划
云知谷41 分钟前
【经典书籍】C++ Primer 第19章特殊工具与技术精华讲解
c语言·开发语言·c++·软件工程·团队开发
雾岛听蓝42 分钟前
C语言:使用顺序表实现通讯录
c语言·数据结构·经验分享·笔记·visualstudio
不是老弟1 小时前
rwqsd
数据结构·c++·算法