当前位置: 首页 > news >正文

C语言之main函数的返回值(在linux中执行shell脚本并且获取返回值)

一:函数为什么要返回值 

        (1)函数 在设计的时候是设计了参数和返回值,参数是函数的输入,返回值是数据的输出

        (2)因为函数需要对外输出数据(实际上是函数运行的一些结果值)

        (3)形式上来说函数被另一个函数所调用,返回值作为函数的值返回给调用这个函数的地方

        总结:返回值就是给调用这个函数的地方一个值

二:main函数被谁调用

        (1)main函数是特殊的,因为C语言规定了main函数是整个程序的入口,其他的函数只有直接或间接的被main函数调用才能够执行,如果没有被main函数直接或者间接的调用则这个函数在整个程序中没有起到作用

        (2)mian函数从某种角度代表了当前这个程序,或者说代表了整个程序。mian函数的开始意味着真个程序的开始,mian函数的结束返回意味整个程序的结束

        (3)谁执行了这个程序,谁就调用了mian函数 

三:linux下一个程序执行的本质

        (1)表面上来看,linux在命令行中使用./xxx命令去执行一个可执行程序

        (2)可以通过一个shell脚本来执行这个程序

        (3)可以在程序中调用执行一个程序(fork exec)

        总结:有多种方法都可以执行一个程序,但是本质上是相同的。linux中一个新程序的执行本质上是一个进程的创建、加载、运行、消亡。linux中执行一个程序其实就是创建一个新进程然后把这个程序丢进这个进程中去执行直到结束

        分享:命令行本身就是一个进程,在命令行底下去,其实这个新程序是作为命令行的一个子进程来执行的

        

四:实践获取main函数的返回值

        (1)用shell脚本执行程序可以获取程序的返回值 并且打印出来

        (2)linux shell中用$?这个符号来存储和表示上一个程序的执行结果

        步骤:创建一个.c文件和一个.sh的shell脚本文件 -> 编译链接创建的.c源文件 -> 执行链接后的程序 -> 在终端使用source 4.8.2.shell.sh (4.8.2.shell.sh 是shell脚本文件的名字) ->就可以看到结果了

        

//创建的.c源文件
#include <stdio.h>int main(void)
{return 0;        //也可以改成其他数值比如124
}
//创建的.sh源文件
#!/bin/bashecho $?

 使用gcc 4.8.2.main.c 命令编译链接文件

使用./a.out 命令 执行程序

使用source 4.8.2.shell.sh 命令执行shell脚本

下一行就是执行结果:0

 

 将返回值改为127

结果:

 

 

 

 

 

五:

http://www.lryc.cn/news/368875.html

相关文章:

  • 【手撕面试题】Vue(高频知识点五)
  • C#有哪些方式实现回调函数、处理异步操作或响应某些条件时的动作
  • Java:110-SpringMVC的底层原理(上篇)
  • 【HarmonyOS】鸿蒙应用子模块module资源如何获取
  • Centos X系统yum安装mysql数据库
  • Python语言在金融领域的应用探索
  • 【python/pytorch】已解决ModuleNotFoundError: No module named ‘torch‘
  • 1.nginx介绍
  • 仓库管理业务在WMS与ERP中如何抉择
  • RDMA (1)
  • pyqt opengl 小黑块
  • 基于JavaScript 如何实现爬山算法以及优化方案
  • Redisson分布式锁原理解析
  • Linux RS232
  • 英伟达Docker 安装与GPu镜像拉取
  • 智慧交通的神经中枢:利用ARMxy进行实时交通流数据采集
  • 文心一言使用技巧
  • 技术人如何打造研发团队
  • 月薪6万,想离职...
  • ReentrantLock底层原理
  • 基于JSP的医院远程诊断系统
  • 项目:基于httplib/消息队列负载均衡式在线OJ
  • 详解python中的pandas.read_csv()函数
  • 速盾:DDoS高防IP上设置转发规则
  • 京东一面测开(KPI)
  • Django框架中级
  • cordova-plugin-inappbrowser内置浏览器插件
  • 打造智慧工厂核心:ARMxy工业PC与Linux系统
  • Java File IO
  • MySQL 函数与约束