`

赋值语句的返回值

    博客分类:
  • C++
 
阅读更多

#include <iostream>
using namespace std;
int main()
{
char A[4] = {'a', 'b', 'c', '\0'};
char B[4] = {'A', 'B', 'D', '\0'};
char* a = A;
char* b = B;
while(1)
{
if((*b++ = *a++) == '\0')
{
break;
}
}

}

 

The value of (*b = *a) is from the assigned value, e.g. (*b)

Let' s the answer by GDB.

28if((*b++ = *a++) == '\0')
2: B = "aBD"
1: A = "abc"
(gdb) p (*b = *a)
$2 = 98 'b'
(gdb) n
26while(1)
2: B = "abD"
1: A = "abc"
(gdb) p (*b = *a)
$3 = 99 'c'
(gdb) p &(*b = *a)
$4 = 0xbffff2ea "c"
(gdb) p b
$5 = 0xbffff2ea "c"
(gdb) p a
$6 = 0xbffff2ee "c"

 

分享到:
评论

相关推荐

    Ruby编程中的赋值相关操作

    在老版本的Ruby中,赋值语句的返回值是设置该属性的方法的返回值。在Ruby1.8中,赋值语句的值总是参数的值而方法的返回值将被丢掉。   class Test def val=(val) @val = val return 99 end end t = Test.new ...

    Python编程之变量赋值操作实例分析

    本文实例讲述了Python编程之变量赋值操作。分享给大家供大家参考,具体如下: #coding=utf8 ''''' Python中主要通过等号(=)进行赋值。...'''''python的赋值语句不会返回值。''' #add=(Int=Int+2) #错误

    C语言程序设计-函数参数和返回值.pptx

    因此应预先用赋值、输入等办法使实参获得确定值。 2-2 函数的返回值 函数的返回值是指函数被调用之后,执行函数体中的程序段所取得的并返回给主调函数的值。对函数的值(或称函数返回值) 函数的值只能通过return语句...

    易拓展支持库源码开源 可以让易语言支持通用型,支持哈希表 支持子程序指针直接调用

    本拓展库只能在易语言5.11及以上使用.... 通用型只能用在参数中,强制转换用赋值语句...(作者很懒 没写到文本 到XXX的强制转换..)。 词典和哈希表的。 beta9更新内容:支持子程序指针直接调用. @sss281。

    SLRAnalyzer:基于Python的SLR(1)赋值语句文法分析器与四元式生成

    判断输入串是否为文法的合法语句 生成四元式 依赖库 Pandas 使用方法 python main.py 进阶的使用方法:修改grammar.txt文件中的文法规则以自定义文法。但是如此一来四元式将无法正常生成。 文件说明 grammar.py/...

    PL0(包括对其的扩充)

    (1)扩充赋值运算:*= 和 /=  (2)扩充语句(Pascal的FOR语句):  ①FOR &lt;变量&gt;:=...(2)扩充函数:① 有返回值和返回语句;② 有参数函数。 (3)增加一维数组类型(可增加指令)。 (4)其他典型语言设施。

    4737 C++程序设计 自考串讲笔记.doc

    7.左值表达式在赋值语句中既可以作为左操作数,也可以作为右操作数。而右值表达式在赋值语句中只能作为右操作数。 8.指向常量的指针是在非常量指针声明前面使用const,比如:const int *p 9.在数组的泛型算法中,要...

    python语法进阶.rar

    * 在函数内部,**使用赋值语句** 才会 **修改变量的引用** ### 1.2 无参数,有返回值 此类函数,不接收参数,但是有返回值,应用场景如下: * 采集数据,例如 **温度计**,返回结果就是当前的温度,而不需要传递...

    python闭包

    函数定义语句和普通的赋值语句没有区别,创建一个对象并用一个名字引用之。因此函数定义语句可以出现在任何赋值语句可以存在的地方,包括在另一个函数中。这就支持了嵌套函数的存在,在一个函数中定义另一个函数,...

    c0扩充编译器,实现三种优化,北航计算机

    赋值语句> ::= 标识符>=表达式> 条件语句> ::= if‘(’条件>‘)’语句>[else语句>] 条件> ::= 表达式>关系运算符>表达式>|表达式> 循环语句> ::= while‘(’条件>‘)’语句> 子函数调用...

    扩充C0编译器要求 北航计算机用

    赋值语句> ::= 标识符>=表达式> 条件语句> ::= if‘(’条件>‘)’语句>[else语句>] 条件> ::= 表达式>关系运算符>表达式>|表达式> 循环语句> ::= while‘(’条件>‘)’语句> 子函数调用...

    c0文法编译课程设计

    赋值语句> ::= 标识符>=表达式>|标识符>‘[’表达式>‘]’=表达式> 条件语句> ::= if ‘(’条件>‘)’语句>[else语句>] 条件> ::= 表达式>关系运算符>表达式>|表达式> //表达式为0条件为假,否则...

    东大22春《高级语言程序设计基础》在线平时作业3-00001

    5.已知ch是字符型变量,则不正确的赋值语句是( )。6.若有以下程序段: for (m=1; m=100; m++) { scanf(%d, &y); if (y0) continue; printf(%3d, m); }正确的描述是( )。7.若a和b均为int型变量,则执行以下程序断...

    东大22春《高级语言程序设计基础X》在线平时作业3-00001

    5.已知ch是字符型变量,则不正确的赋值语句是( )。6.若有以下程序段: for (m=1; m=100; m++) { scanf(%d, &y); if (y0) continue; printf(%3d, m); }正确的描述是( )。7.若a和b均为int型变量,则执行以下程序断...

    ES6基础之解构赋值(destructuring assignment)

    我们经常可以在其他编程语言(如GO语言)中看到多返回值这种特性,因为在很多实际场景中,函数的返回值中,函数的返回值并不只有一个单一的值。ES6之前,并没有可以直接使用语法来实现多返回值的特性。ES6终于出现了...

    Python基础教程-05第五章条件、循环和其他语句.pptx

    序列解包 x,y,z=1,2,3 values=1,2,3 函数返回值,允许返回多个值,要求赋值符号两边的变量数量一致 stu={'name':'Robin','girlfriend':'Marion'} key, Python基础教程--05第五章条件、循环和其他语句全文共65页,...

    sqlserver存储过程中SELECT 与 SET 对变量赋值的区别

    SQL Server推荐使用 SET 而不是 SELECT ...表达式未返回值 变量被赋null值 变量保持原值 下面以具体示例来说明问题:create table chinadba1(userid int ,addr varchar(128) )goinsert into chinadba1(userid,addr) v

    快速理解Python3.8新特性: 海象运算符、 f-string、 强制位置参数

    海象运算符是一个特殊的表达式,而不是一个赋值语句,其拥有返回值,大小等于海象运算符右侧表达式的值(而不是逻辑运算符返回的布尔值),同时海象表达式左侧的变量也将被赋予相同的值。以下代码段为示例,注释内容...

    C++和面向对象数值计算

    2.3.3 复合赋值语句 2.3.4 增值减值语句 2.3.5 复合语句 2.3.6 条件语句 2.3.7 循环语句 2.4 斐波纳契数 2.5 练习 第3章派生类型 3.1 常量和宏 3.2 枚举类型 3.3 数组 3.4 结构 3.5 ...

Global site tag (gtag.js) - Google Analytics