iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言操作符++和--怎么使用
  • 731
分享到

C语言操作符++和--怎么使用

2023-06-30 05:06:29 731人浏览 安东尼
摘要

本篇内容介绍了“C语言操作符++和--怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、++与--操作符的本质++ 和 -- 操作符

本篇内容介绍了“C语言操作符++和--怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一、++与--操作符的本质

++ 和 -- 操作符对应两条汇编指令

前置

  • 变量自增(减)1

  • 取变量值

后置

  • 取变量值

  • 变量自增(减)1

下面看一段神奇的代码:

#include <stdio.h>  int main(){    int i = 0;    int r = 0;     r = (i++) + (i++) + (i++);     printf("i = %d\n", i);    printf("r = %d\n", r);     r = (++i) + (++i) + (++i);     printf("i = %d\n", i);    printf("r = %d\n", r);     return 0;}

在 VS2012中,它的运行结果如下:

C语言操作符++和--怎么使用

GCc 编译器中,它的运行结果如下:

C语言操作符++和--怎么使用

这是由于不同编译器对 ++ 和 -- 的相对哦执行次序不一样。

二、++与-- 操作符使用分析

  • C 语言中只规定了 ++ 和 -- 对应指令的相对执行次序

  • ++ 和 -- 对应的汇编指令不一定连续运行

  • 在混合运算中,++ 和 -- 的汇编指令可能被打断执行

++ 和 -- 参与混合运算结果是不确定的。

笔试面试中的“奇葩”题

C语言操作符++和--怎么使用

贪心法:++,-- 表达式的阅读技巧

  • 编译器处理的每个符号应该尽可能多的包含字符

  • 编译器以从左向右的顺序一个一个尽可能多的读入字符

  • 当读入的字符不可能和已读入的字符组成合法符号为止

下面看一段代码:

#include <stdio.h> int main(){       int i = 0;    int j = ++i+++i+++i;        int a = 1;    int b = 4;    int c = a+++b;        int* p = &a;        b = b/ *p;     printf("i = %d\n", i);    printf("j = %d\n", j);    printf("a = %d\n", a);    printf("b = %d\n", b);    printf("c = %d\n", c);          return 0;}

运行后编译器会报错:

C语言操作符++和--怎么使用

这行代码为什么报错呢?int j = ++i+++i+++i; 原因就是编译器发现 ++i 后由于贪心,会继续往下找,发现 ++i+ 后编译器觉得符合语法规则,继续往下找,当出现 ++i++时编译器感觉不对,开始计算,就变成 1++,这是不合法的,所以编译器就会报错。

空格可以作为C语言中一个完整符号的休止符编译器读入空格后立即对之前读入的符号进行处理。

所以下面这么写就可以:

#include <stdio.h> int main(){       int i = 0;    int j = ++i + ++i + ++i;        int a = 1;    int b = 4;    int c = a++ + b;        int* p = &a;        b = b/ *p;     printf("i = %d\n", i);    printf("j = %d\n", j);    printf("a = %d\n", a);    printf("b = %d\n", b);    printf("c = %d\n", c);          return 0;}

编译结果如下:

C语言操作符++和--怎么使用

“C语言操作符++和--怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: C语言操作符++和--怎么使用

本文链接: https://www.lsjlt.com/news/327560.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言操作符++和--怎么使用
    本篇内容介绍了“C语言操作符++和--怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、++与--操作符的本质++ 和 -- 操作符...
    99+
    2023-06-30
  • C语言操作符使用实例分析
    本篇内容介绍了“C语言操作符使用实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!算术操作符主要是 (+ - * / %) 五种算数操作...
    99+
    2023-07-02
  • 详解C语言之操作符
    目录1.加减乘2.除(/)注意:3.取余(%)注意:4.移位操作符(>> <<)注意5.位操作符(| ,& ,^)6.逻辑操作符(&&...
    99+
    2022-11-12
  • C语言有哪些操作符
    这篇文章将为大家详细讲解有关C语言有哪些操作符,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.单目操作符之前有了解到的三目操作符(?:),指的是有三个操作数例如:3+5其中,+是一个操作符3是左操作数5...
    99+
    2023-06-29
  • C语言操作符#与##使用方法详解
    目录一、# 运算符二、## 运算符三、小结一、# 运算符 # 运算符用于在预处理期将宏参数转换为字符串# 的转换作用是在预处理期完成的,因此只在宏定义中有效编译器不知道 # 的转换作...
    99+
    2022-11-13
  • C语言 操作符分类解析与使用
    目录操作符的分类算术操作符移位操作符位操作符逻辑操作符逗号表达式表达式求值隐式类型转换算术转换操作符的属性xwg今天就带各位大佬来了解一波C语言的操作符。 操作符的分类 常见的操作符...
    99+
    2022-11-12
  • C语言简明讲解操作符++和--的使用方法
    目录一、++与--操作符的本质二、++与-- 操作符使用分析三、小结一、++与--操作符的本质 ++ 和 -- 操作符对应两条汇编指令 前置 变量自增(减)1取变量值 后置 取变量值...
    99+
    2022-11-13
  • 一文详解C语言操作符
    目录一、基础篇1.算数操作符2.单目操作符3.逻辑操作符4.条件操作符5.逗号表达式6.下标引用,函数调用和结构体成员访问7.关系操作符 二、进阶篇1.二进制2.移位操作符...
    99+
    2023-05-20
    C语言操作符详解 C语言操作符
  • 怎么使用C语言操作树莓派GPIO
    这篇文章主要介绍了怎么使用C语言操作树莓派GPIO,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。第一步安装GPIO库。cd /tmpwget https:...
    99+
    2023-06-15
  • C语言全面细致精讲操作符的使用
    目录前言一、算术操作符二、移位操作符1.左移操作符2.右移操作符三、位操作符四、赋值操作符复合赋值符五、单目操作符单目操作符介绍1.sizeof 和 数组2.++和–运算...
    99+
    2022-11-13
  • C语言操作符的示例分析
    这篇文章给大家分享的是有关C语言操作符的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言C语言中操作符不多,但是有些相同的操作符都是在不同的表达式中,有不同的解释意思,比如 * 号,在表达式中5*5表示...
    99+
    2023-06-20
  • C语言中字符串常用操作总结
    目录字符串的定义和初始化字符串的赋值字符串的输入输出字符串的比较字符串的拼接字符串的查找和替换字符串的常用函数strcpy函数strcat函数strlen函数strcmp函数strc...
    99+
    2023-05-20
    C语言字符串常用操作 C语言字符串操作 C语言字符串
  • C语言中操作符的介绍及用法
    这篇文章主要讲解了“C语言中操作符的介绍及用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言中操作符的介绍及用法”吧!目录操作符分类算术操作符移位操作符整数存储规则左右移位规则赋值操作...
    99+
    2023-06-20
  • Python语言怎么在C语言中实现操作
    这篇文章给大家介绍Python语言怎么在C语言中实现操作,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Python语言会在很多的语言中出现。我们在不断的学习和使用中存在着不少问题,下面我们就详细的来学习相关的知识以及如...
    99+
    2023-06-17
  • 使用C语言实现字符串逆序操作案例
    编写一个函数 reverse_string(char * string) 实现:将参数字符串中的字符反向排列。 要求:不能使用C函数库中的字符串操作函数。 非递归实现: #inc...
    99+
    2022-11-12
  • C语言各类操作符全面讲解
    目录1 算术操作符2 移位操作符3 位操作符4 赋值操作符5 单目操作符5.1 ! 逻辑反操作5.2 sizeof 和数组6 关系操作符7 逻辑操作符8 条件操作符9 逗号表达式10...
    99+
    2022-11-13
  • C语言操作符基础知识详解
    目录一.单目操作符:二.关系操作符三.条件操作符四.逗号表达式五.逻辑操作符总结一.单目操作符: !:逻辑反操作符; -:负数操作符; +:整数操作符; &:取地址操作符; ...
    99+
    2022-11-12
  • C语言算术运算符怎么使用
    本文小编为大家详细介绍“C语言算术运算符怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言算术运算符怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。下表列出了C语言中的算术运算符。运算符操作-减...
    99+
    2023-07-05
  • C++逻辑操作符怎么使用
    本篇内容主要讲解“C++逻辑操作符怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++逻辑操作符怎么使用”吧!一、逻辑运算符的原生语义操作数只有两种值( true和 false )逻辑表...
    99+
    2023-06-30
  • C语言实例上手深入理解操作符的使用
    目录1.闰年练习2.绝对值练习3.字符转换练习4.四则表达式练习5.隐式类型转换1.闰年练习 编写逻辑表达式判断用户给定的年份是否是闰年,年份可以被4整除但不能被100整除;年份可以...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作