C语言return与 ? :

上次讲解过一次函数,函数要配合return返回东西,但是在编写一些程序的时候我发现了很多冷门逻辑语法还没有掌握,当时讲课也是看一眼就过去了(死去的记忆开始攻击我)

Return,爽!

现在有一个小问题,一个函数里面最多有几个return?一个?不,可以有无数个

基本原则

但是原则有一个,只能有一个是真正传出去的,不能同时传出多个

返回一个好说,可是什么叫有多个return只返回一个?这里就是选择语句干的

举个例子

比大小返回最小的值

cs 复制代码
int imin(int n,int m)
{
    int min;
    if(n<m)
    {
        min = n;
    }
    else
    {
        min = m;
    }
    return min;
}

进阶写法(多个return,但是实际只返回一个)

cs 复制代码
int imin(int n,int m)
{
    
    if(n<m)
    {
        return n;
    }
    else
    {
        return m;
    }
    
}

这样大概就懂了,再来个switch语句,可太美了😋

还有一个就是void函数也可以写return,但不会返回,这块太偏了,真正写程序也没人会这样干,要不就是纯给自己添加代码量,具体写法如下

cs 复制代码
void X(......)
{
    ......

    return;    //什么都不返回

}

可以return什么

int、char等比较基础的

还可以返回结构体、一个数组(就是开辟了空间的指针,与直接返回一个数组不同,是相当于返回了一个在函数里创建的新开辟了空间的指针也就是新数组,所以说直接返回数组是错的,这是在间接返回

忘了的话可以参考函数篇

偏门语法

这块其实就是逻辑与或那一块的知识,考试的时候用的少,萌新也不爱用,虽说简便但是不直白,而且一牵扯到逻辑运算与逻辑符号与计算机最基础运算,你懂的,无人领域

今天就讲解一个,以后有机会专门讲解逻辑符号与逻辑相关部分(这块学计算机专业的有福了,因为这才是最基本的语法,所有if-else、switch等语句都是基于三个门弄出来的,最秃的一集、最计算机基础部分的一集)

条件 ? 表达式1 : 表达式2

这是在干什么?这个就是如果条件为真,结果就是表达式1的值,如果是假就是表达式2的值

举个例子,还是刚才比大小的例子

cs 复制代码
int imin(int n,int m)
{
    
    int min = (n<m) ? n : m;
    return min;
    
}

相当于if-else,就是连字母都省了(但是可读性这块大大降低,新手噩梦老油条法宝)

今日已学

1、return基本原则

2、return的相对高级用法

3、 条件?表达式1:表达式2;语法

以上均是本人理解,如有不对欢迎各位大佬评论区指出~

相关推荐
IT 行者31 分钟前
Web逆向工程AI工具:JSHook MCP,80+专业工具让Claude变JS逆向大师
开发语言·javascript·ecmascript·逆向
程序员 沐阳2 小时前
JavaScript 内存与引用:深究深浅拷贝、垃圾回收与 WeakMap/WeakSet
开发语言·javascript·ecmascript
Mr_Xuhhh3 小时前
Java泛型进阶:从基础到高级特性完全指南
开发语言·windows·python
汀、人工智能3 小时前
[特殊字符] 第40课:二叉树最大深度
数据结构·算法·数据库架构·图论·bfs·二叉树最大深度
He1955013 小时前
wordpress搭建块
开发语言·wordpress·古腾堡·wordpress块
老天文学家了3 小时前
蓝桥杯备战Python
开发语言·python
赫瑞3 小时前
数据结构中的排列组合 —— Java实现
java·开发语言·数据结构
大熊背4 小时前
ISP Pipeline中Lv实现方式探究之三--lv计算定点实现
数据结构·算法·自动曝光·lv·isppipeline
初夏睡觉4 小时前
c++1.3(变量与常量,简单数学运算详解),草稿公放
开发语言·c++
升职佳兴4 小时前
C盘爆满自救:3步无损迁移应用数据到E盘(含回滚)
c语言·开发语言