`
yangyou230
  • 浏览: 1650026 次
文章分类
社区版块
存档分类

逗号表达式

 
阅读更多
关于二维数组赋值的一个陷阱

程序的输出为1

程序的输出为0
二者的区别在于二维数组的初始化为题,第一种情况由于是逗号表达式,所以等价于{{1,3},{5,0},{0,0}}
c语言提供一种特殊的运算符,逗号运算符,优先级别最低,它将两式联接起来,如:(3+5,6+8)称为逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值,如:(3+5,6+8)的值是14。(a=3*5,a*4)的值是60。
  逗号表达式的形式如下: 
  表达式1,表达式2,表达式3,...... ,表达式n 
  逗号表达式的要领: 
  (1) 逗号表达式的运算过程为:从左往右逐个计算表达式。 
  (2) 逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值。 
  (3) 逗号运算符的优先级别在所有运算符中最低。

注意一个问题:

i = 1 , 2;

虽然是逗号表达式,但是,赋值符的优先级更高,所以,i的值为1,接着执行常量2的运算,运算结果丢弃。

所以需要区别:(a=3*5,a*4)和b=(a=3*5,a*4);第一个式子,a的值为15,第二个式子a的值为15,而b的值为60。
分享到:
评论

相关推荐

    逗号表达式(表达式1,表达式2….)逗号表达式最右边的值为逗号表达式的值.one

    逗号表达式(表达式1,表达式2….)逗号表达式最右边的值为逗号表达式的值.one

    关于c语言逗号表达式的运算规则知识点

    c语言逗号表达式的运算规则 c语言逗号表达式是由左向右进行的:k=3*2=6,K+2=8,表达式返回8。 逗号表达式用法: 当顺序点用,结合顺序是从左至右,用来顺序求值,完毕之后整个表达式的值是最后一个表达式的值。 ...

    VC++中逗号表达式共1页.pdf.zip

    VC++中逗号表达式共1页.pdf.zip

    结合短路法和逗号表达式,代替if和三目运算符

    C/C++系列语言中,if-else语句是最主要的条件分支语句,本文主要谈了结合短路法和逗号表达式,代替if和三目运算符。

    辨析二级C语言之逗号运算符和逗号表达式.pdf

    辨析二级C语言之逗号运算符和逗号表达式.pdf

    C语言中逗号表达式

    本文介绍了C语言中逗号表达式的使用以及原则。

    C语言数据类型,运算符和表达式教程

    C语言数据类型,运算符和表达式,熟悉关键字、标识符、常量、变量等术语; 掌握C语言的三种基本数据类型; 掌握几种常见的运算符(算术运算符、赋值...掌握几种常见的表达式(算术表达式、赋值表达式,逗号表达式)

    C语言全书word版CHAR03

    3.10 逗号运算符和逗号表达式 18 3.11 小结 19 3.11.1 C的数据类型 19 3.11.2 基本类型的分类及特点 19 3.11.3 常量后缀 19 3.11.4 常量类型 19 3.11.5 数据类型转换 19 3.11.6 运算符优先级和结合性 20 3.11.7 ...

    c++的2个考试题目

    帮我做一下吧

    C++程序设计-谭浩强-清晰版完整书签

    C++程序设计-谭浩强-清晰版完整书签 封面 -24 目录 -10 第1篇 基本知识 1 第1章 C++的初步知识 3 1.1 从C到C++ 3 1.2 最简单的C++程序 5 1.3 C++程序的构成和书写形式 ... 2.7 逗号运算符与逗号表达式 40 习题 41

    数据类型和表达式(2013级-C++程序设计)

    2013级,C++程序设计课件。第2章 数据类型和表达式。内容: 2.1 C++的数据类型 2.2 常量 2.3 变量 2.4 C++的运算符 2.5 算术运算符与算术表达式 2.6 赋值运算符与赋值表达式 2.7 逗号运算符与逗号表达式

    数据结构的逻辑结构、存储结构及数据运算的含义及其相互关系.doc

    5、 逗号运算符和逗号表达式。 1 、 程序的三种基本结构。 2、 数据输入输出的概念及在C 语言中的实现。 字符数据的输入输出, 格式输入与输出。 1 、 关系运算符及其优先级, 关系运算和关系表达式。 2、 逻辑...

    C语言程序设计-for语句.pptx

    for语句中的三个表达式均可以是逗号表达式,故可同时对多个变量赋初值及修改for(i=0, j=0; i; i++, j++)。 for语句中表达式1,表达式2,表达式3中任意一个表达式均可以省略,但“;”不能省略,如for(;;)。 1 for...

    编译原理课后习题答案(蒋立源第三版)

    1解:源程序是指以某种程序设计语言所编写的程序。目标程序是指编译程序(或解释...逗号在C语言中被视为分隔符和运算符,作为优先级最低的运算符,运算结果为逗号表达式最右侧子表达式的值(如:(a,b,c,d)的值为d)。

    visual c++考试大纲

    4.C表达式类型(赋值表达式、算术表达式、关系表达式、逻辑表达式、条件表达式、逗号表达式)和求值规则。   (三)基本语句 1.表达式语句,空语句,复合语句。 2.数据的输入与输出,输入输出函数的调用。 3.复合...

    c语言运算符号优先级别

    c语言运算符优先级表 C语言中的运算符优先级从高到低分为15级。...最后,逗号运算符的优先级最低,可能在一些特殊的情况下用到,但在大多数情况下,我们应尽可能避免使用逗号表达式,以增强代码的可读性。

    linux C编程实战

     2.3.3 逗号运算符与逗号表达式   2.4 标准输入输出函数   2.4.1 字符输出函数putchar   2.4.2 字符输入函数getchar   2.4.3 格式化输出函数printf   2.4.4 格式化输入函数scanf   2.5 Vi编辑器...

    C语言程序设计标准教程

    第二章: 数据类型、运算符、表达式 C语言的数据类型  在第一课中,我们已经看到程序中使用的各种变量都应预先加以说明,即先说明,后使用。对变量的说明可以包括三个方面: ?数据类型 ?存储类型 ?作用域  在本课...

    linuxC编程实战.part2.rar(文件已加密)

     2.3.3 逗号运算符与逗号表达式   2.4 标准输入输出函数   2.4.1 字符输出函数putchar   2.4.2 字符输入函数getchar   2.4.3 格式化输出函数printf   2.4.4 格式化输入函数scanf   2.5 Vi编辑器...

Global site tag (gtag.js) - Google Analytics