【学习笔记之我要C】链式访问、函数的声明和定义、goto语句

简介: 【学习笔记之我要C】链式访问、函数的声明和定义、goto语句

一、链式访问

  链式访问:把一个函数的返回值作为另外一个函数的参数。

int main() {
  int len = strlen("abc");
  printf("%d\n", len);
  //链式访问
  printf("%d\n", strlen("abc"));
  //把strlen的返回值作为printf的参数
  //打印4321
  printf("%d", printf("%d", printf("%d", 43)));
  //printf的返回值是打印字符的个数
  //所以最里层的printf打印43,返回2
  //中间的printf打印2,返回1
  //最外层的printf打印1,返回1
  //但是已经没有printf了,所以最外层虽然返回了1,但是并没有打印
  return 0;
}

二、函数的声明和定义

  函数声明

   1.告诉表一起有一个函数叫什么参数是什么返回类型是什么。但是具体是不是存在,无关紧要

2.函数的声明一般要出现在函数的使用之前,要满足先声明后使用。

   3.函数的声明一般要放在头文件中。

  函数定义

   函数的定义是指函数的具体实现,交代函数的功能实现。

2e366c58cba248a0921b3cf04dda2661.png

#include "Add.h"
int main() {
  int a = 1;
  int b = 2;
  int c = Add(a, b);
  printf("%d\n", c);
  return 0;
}
//函数声明
int Add(int, int);
//函数定义
int Add(int x, int y) {
  return x + y;
}

三、goto语句

 C语言中提供的可以随意滥用的goto语句和跳转的标号;

 从理论上goto语句是没有必要的,实践中没有goto语句也可以很容易的写出代码;

 最常见的用法就是终止程序在某些深度嵌套的结构的处理过程;

 goto语句只能在一个函数内跳转,不能跨函数跳转。

int main() {
  //关机
  //C语言提供了一个函数:system()用来执行系统命令
  char input[20] = { 0 };//存放输入的信息
  system("shutdown -s -t 60");
  flag:
  printf("请注意,你的电脑将在1分钟内关机!\n取消关机请输入:别关机\n");
  scanf("%s", input);
  //C语言中不能有==来判断字符串是否一样,要用strcmp()函数
  if (strcmp(input, "别关机") == 0) {
    system("shutdown -a");
  }
  else {
    goto flag;
  }
  return 0;
}
目录
相关文章
|
JavaScript 前端开发
什么是函数?函数分为几种,如何声明?区别是什么?
什么是函数?函数分为几种,如何声明?区别是什么?
97 0
|
3月前
|
存储 编译器 C语言
C语言函数的定义与函数的声明的区别
C语言中,函数的定义包含函数的实现,即具体执行的代码块;而函数的声明仅描述函数的名称、返回类型和参数列表,用于告知编译器函数的存在,但不包含实现细节。声明通常放在头文件中,定义则在源文件中。
|
8月前
|
Python
函数嵌套调用
函数嵌套调用
76 1
|
5月前
【函数】函数的声明和定义
【函数】函数的声明和定义
130 1
|
6月前
|
语音技术
语音识别----函数基础定义联系案例,函数的参数,函数的参数练习案例,函数的返回值定义语法,函数返回值之None,函数的说明文档,函数的嵌套调用,变量在函数中的作用域,内部变量变全局变量用global
语音识别----函数基础定义联系案例,函数的参数,函数的参数练习案例,函数的返回值定义语法,函数返回值之None,函数的说明文档,函数的嵌套调用,变量在函数中的作用域,内部变量变全局变量用global
|
8月前
|
算法 编译器 C语言
C learning_10 (函数的嵌套调用和链式访问、函数的声明和定义、函数递归)
C learning_10 (函数的嵌套调用和链式访问、函数的声明和定义、函数递归)
|
8月前
|
C语言
C语言函数的嵌套调用详解
C语言函数的嵌套调用详解
296 1
|
8月前
|
存储 Java
Java数组与带参数方法:定义、调用及实践
Java数组与带参数方法:定义、调用及实践
86 1
|
程序员 编译器 C语言
【C语言】——函数的嵌套调用和链式访问
【C语言】——函数的嵌套调用和链式访问
【C语言】——函数的嵌套调用和链式访问
|
8月前
|
机器学习/深度学习 算法 编译器
【C语言】函数 ---- 函数的嵌套调用和链式访问、函数的声明和定义、变量的声明和定义、函数递归与迭代、递归时的栈溢出问题
【C语言】函数 ---- 函数的嵌套调用和链式访问、函数的声明和定义、变量的声明和定义、函数递归与迭代、递归时的栈溢出问题
162 0