在c语言中。b=1,然后把b的值赋值给a ,那么b的值还是1么?或者说b就没了?求解。。。。。谢谢!

作者&投稿:瞿庾 (若有异议请与网页底部的电邮联系)
C语言中a=b,意思是说把b赋值给a,还是说把b里面的值赋值给a?~

当a和b为普通变量时, a=b,是把b的值赋值给a, b不变;
当a和b为指针时, a=b, 是把b的指向赋值给a, 让a也可以指向b的指向,b的指向不变;
比如 a=1 b=2 c=3,把b赋值给a 就是 a=b 因为b是等于2的 现在 a=b=2。
把b值赋给a指的是把b的值代入a里,打个比方,a=b,而b=100,那么,在这个式子中,把b值赋给a就指的是a=b=100,也就是a=100。

扩展资料:
C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。例如算术运算符的结合性是自左至右,即先左后右。如有表达式x-y+z 则y 应先与“-”号结合,执行x-y 运算,然后再执行+z 的运算。这种自左至右的结合 方向就称为“左结合性”。而自右至左的结合方向称为“右结合性”。
最典型的右结合 性运算符是赋值运算符。如x=y=z,由于“=”的右结合性,应先执行y=z 再执行x=(y=z)运算。C语言运算符中有不少为右结合性,应注意区别,以避免理解错误。
参考资料来源:百度百科-C语言运算符

b值不变,只是让a有跟b相同的值

C语言中。 几个基本数据类型(int ,char, float,double... )的赋值都是值复制
比如你先在说的b=1 那么系统就在内存中声明一个整型的内存地址,命名为b 这个地址里面存储1个值:1 。 这时令a=b; 则同样开辟一个内存,命名为a 这时把b的值即1 复制一份存储到a内存中

b 的值还是1,除非被赋新的值,或者出了b的声明有效区域

申请的局部变量都在堆栈中,赋值给b,然后b再赋值给a,那么a和b都是1。只要在b的生存周期内,b都存在,可以直接使用。

  你好!你这个是让我写一段程序呢,还是怎么样的。那我就写一个局部的吧。
  b=1;
  a=b;
  b=1;
  我的理解b就是等于1,因为b的值没有发生改变,如果真的要发生改变就应该这样:
  b=1;
  a=b;
  b=b+a;
  b=2;
  这样我的理解b就是2了,这样你理解了吧,读最后值就行了。
  希望我这样的回答能让你满意!

简单的说 b的值不会变的,除非 有新值赋予给它!一旦覆盖就会变。

你说的那种情况会出现在链表中,一旦断链不仅是b 而且b后面的都会没有(前提是链表后面还有的话)因为他们的储存不是连续的空间。不是值消失了 ,而是散落在存储空间找不到了


c语言中蛮简单的一个程序,我自己想的结果是a=1,b=1,c=0但是运行结果是b...
这个好像跟 编译器有关吧 。c = a++ && (b=1) ;如果 是 从左向右的话 只要 a++ 的值 为假 后面的 b = 1 就不用执行了 反之 则就不一样了

C语言中,当a=1,b=1,c=1时,a<b<c的值. 究竟是0还是1
在c语言是应该写成a<b&&b<c,判断与关系如果前一个否定那么后面的就不需要再做判断,a<b显然否定那么,结果肯定是0

c语言中int a,b=1; a=(b++)+(++b)-(--b);,为什么a的值是1,最好把过程...
b++是后置自加,先使用b的当前值,然后b自加1,所以,(b++)的结果是1且b最终等于2。而++b是先自加再使用b自加后的值,所以,(++b)的结果是3且b等于3。同理,(--b)的结果是2且b等于2。所以,a=1+3-2=2,b=2。下图是验证:所以,应该是答案错了。

一道C语言选择题 假定int a=0,b=1;表达式: !(a='0')
int a=0,b=1,c,d;c=(!(a='0')&&b--,a+b);因为表达式中出现逗号,这是个逗号表达式,赋值给c的一定是逗号表达式最后一个式子计算出的值,那么这个语句可以分解为 a='0'; \/\/a=48 d=!a&&b; \/\/由于&&运算时,前边的!a为0,即假,后面的b--就被省略不算了,所以不执行b--;c=a...

C语言题目求解
for(a=1,b=1;b<=20;b++) 循环语句,初始 a=1,b=1;步长 b=b+1; b 达到 20 结束循环。第一次进入: a=1,b=1;满足 (a%2==1) 条件,a+=5; a得6;continue; 回到循环开始处。第二次进入:a=6 b=2; 不满足if(a>10),不满足 (a%2==1),执行 a-=3; a得3...

char b="1"在c语言中占几个字节
你好。首先,这种赋值方式是有问题的。如果你说的是char b = '1';那么它占一个字节。你可以用printf("%ld\\n", sizeof(b));来查看

C语言求解释 a=5 b=1 (a<<2)|b是多少 怎么算的 谢谢
先把a换成二进制为101,符号<<为左移运算符,对a左移两位的结果为100,|为按位或运算符,即a左移两位后的二进制数与b的二进制数按位或,b的二进制为001,所以(a<<2)|b为101即为5.

c语言中如果int a=5,b=1; t=(a<<2|b);请问t=? 详解
a=5=101; a<<2=10100;a<<2 |b=10100|00001=10101=21;移位操作符比位或操作符优先级高。

c语言中的if语句括号里只有变量怎么理解?例如 int a=0,b=1,c=2; i...
看那个变量是0还是1,是0,不执行后面的语句,1则执行。if (!a) c-=1,因为a=0,则!a=1,执行 c=c-1,此时c=1; 第二句,b=1为真,执行后面的语句,c=c-2,则c=-1;第三局,c=-3,为真,执行语句,c=c-3.则c=-4. 希望能解决你的问题。

c语言中条件运算 结合方向 从右到左 什么意思
运算符的结合方向(顺序)决定了计算的顺序。条件运算符(? :)的结合方向是从右到左,也即运算符的匹配顺序是从右往左的。下面举例说明结合顺序从右到左的含义:int a=1, b=3, c=2, d;d = a>b ? a : c>b ? c : b; \/\/ 根据从右到左的结合顺序,则该表达式等价于d = (a>b ?

永胜县19766196330: c语言里面的b++和++b有何区别? -
点翁姜黄: 以c=b++;和c=++b为例,b=0 c=b++是先把b的值赋给c然后b再加1,故c=0,b=1 c=++b是先把b加1然后再把b的值赋给c,故c=1,b=1 这两条语句就是b+1是在等于之前执行还是在等于之后执行的顺序的区别!

永胜县19766196330: 关于C语言表达式 -
点翁姜黄: 不可以, 这样写 int a=1; int b=1; 这样比较规范 当你写成 int a,b=1;这样的时候只赋值给我b;a还为赋值; 当然你也可以写成 int a=b=1; 这句话是这样执行的 先是 把1赋值给了b,然后再把 b的值赋给a; 个人感觉 没有 int a=1; int b=1; 这种写法简单明了

永胜县19766196330: c语言中 把b值赋给a是什么意思 -
点翁姜黄: 把b值赋给a指的是把b的值代入a里,打个比方,a=b,而b=100,那么,在这个式子中,把b值赋给a就指的是a=b=100,也就是a=100.

永胜县19766196330: c语言中 b=1;程序中出现++b,最后输出b,b的值为多少 -
点翁姜黄: ++b表示使用前b先自加1,b++则是使用后b才加1. 如果把它们作为单独的语句,则它们的效果是一样的: ++b; //或 b++; 这时候再输出b,结果都是2. 如果是直接输出++b或b++或把它们直接参与运算,则结果就不同了: 输出 ++b //结果为2(再次输出b仍为2) 输出 b++ //结果为1(再次输出b则为2) 输出 ++b+5 //结果为7 输出 b+++5 //结果为6

永胜县19766196330: b=1==2是先把1赋给b,1不等于2所以输出的值为假,对吗 -
点翁姜黄: 朋友,我来告诉你答案!首先将1赋值给b,然后“b=1”是一个表达式(可以理解为相对于“==”这个运算符是一个整体)而表达式“b=1”的计算结果为“真”(true),因为这个赋值表达式没有发生运算错误,而“真”在很多种语言中都等于1...

永胜县19766196330: C语言中,已知int b=2;则下列表达式值为1的是( ) A.b>1 B.b>b C.b<1 D.!(b=1) -
点翁姜黄: “=”是赋值符号,b = 1,即把1赋值给变量b,这个赋值是可以成立的,即赋值表达式 b = 1的逻辑值为1,对其取反,当然结果就是0了.

永胜县19766196330: C语言中,a=b=c具体是什么意思? -
点翁姜黄: 1. 赋值语句本身也是一个表达式,也是有返回值的,它的返回值就是赋值给变量的值,比如b = 1 这个语句,会把1赋值给b,但是它本身也是个表达式,这个表达式的返回值为1. 2. 赋值语句是先算等号右边的值,把右边的值赋值给左边的变量 ...

永胜县19766196330: C语言中a=b,意思是说把b赋值给a,还是说把b里面的值赋值给a? -
点翁姜黄: 当a和b为普通变量时, a=b,是把b的值赋值给a, b不变;当a和b为指针时, a=b, 是把b的指向赋值给a, 让a也可以指向b的指向,b的指向不变;

永胜县19766196330: c语言中关于赋值后的问题 -
点翁姜黄: b的值赋给了a,所以a是2,因为你没有将b赋新的值,所以b还是2没有变,a有了新值,所以以前的值丢弃了,你若想a之前的值留下,你可以另外在后面再写一个a=1

永胜县19766196330: c语言赋值语句 a=b=c 是如何赋值 -
点翁姜黄: C语言可以这样赋值吗?应该是C++吧 赋值是从右向左进行的.即先将c的值赋值给b,然后将b的值赋值给a

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网