C语言中a=b,意思是说把b赋值给a,还是说把b里面的值赋值给a?

   更新日期:2024.05.22

当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语言运算符



当a和b为普通变量时, a=b,是把b的值赋值给a, b不变;
当a和b为指针时, a=b, 是把b的指向赋值给a, 让a也可以指向b的指向,b的指向不变;

把b里面的值赋值给a,更准确!一般嫌麻烦简单的说:b赋值给a,同时b还是原来的值,a改变了!

是说把b赋值给a
但是b还是原来的值

这特么的有区别吗?

  • 13185532141 :c语言中a=b是把b的值赋给a,那之后b的值变成了什么?
    慕帘庾2429 :答:b值不变,只是让a有跟b相同的值
  • 13185532141 :C语言里面 a=b; b=c; c=d; 是什么意思?顺序什么样?
    慕帘庾2429 :答:b=c; //把c的值赋给b c=d; //把d的值赋给c 赋值顺序:自右向左 执行顺序:从上到下 下面的结果是:2 3 4 4 自己好好消化消化 include <stdio.h> void main(){ int a=1,b=2,c=3,d=4;a=b;b=c;c=d;printf("%d %d %d %d",a,b,c,d);} ...
  • 13185532141 :C语言中 a=b;与b=a;一样吗
    慕帘庾2429 :答:C语言中 = 表示赋值 即:1、a = b ; b的值赋给a 2、b = a ; a的值赋给b 所以二者完全不一样 切忌此处想当然为【数学意义上的等于号】C语言中判断等于是 【==】a == b 和 b== a 倒是区别不大
  • 13185532141 :在C语言中‘==、++、--、!=’各是什么意思
    慕帘庾2429 :答:“==”就是把等于的意思而“=”是赋值运算符 例如; a==b,就是a等于b 而a=b,则是把b赋值给a ++i --i ( 在使用之前使i的值加(减1) 例如i的原值 i=3 则j=++i (i的值先加1变成4,在赋值给j,j的值现在是4)而 i++ i-- 例如j=i++ 则先是将i的值3赋给j,j...
  • 13185532141 :c语言中,指针问题!*a=b和a=&b,有什么不同?a是指针
    慕帘庾2429 :答:a=b,是吧b的数值放到a指向的空间 a=&b,是把b的地址赋值给a 相同之处就是*a b的数值相同 不同之处是,上面的是数值赋值,那么a指向的空间没有改变 而下面的赋值a指向的地址改变了,也就是a申请的内存空间中的数值变成了b的地址
  • 13185532141 :c语言中a!=b什么意思
    慕帘庾2429 :答:在C语言中a!=b表示a不等于b的意思,a=b表示将a的值赋值给b,a与b相等为a==b
  • 13185532141 :C语言中 a=b==c怎么理解
    慕帘庾2429 :答:“=”是赋值符,把c的值赋给b赋给a,最后a、b、c的值都相等,“==”是判断符;=赋值==等于运算说a=b=c,表达式运行a值赋给b、c运行完abc值相等;a=b==c,复合表达式先a值赋给b与c比较相等则返0,否则返非零值;运算b==c,若b与c相等,那么得出的值为1。
  • 13185532141 :int *a=b与int*a=&b有什么不同
    慕帘庾2429 :答:int *a=b是说把b的值赋值给指针a(*a), int*a=&b是说让指针a(*a)指向b的地址。 举个例子说: int b=5,c=9 int *a1=b;---1 int *a2=&b;___2 b=c;---3 这个时候*a1=5,*a2=9 。因为在说第一步时已经把b的值,也就是5传给*a1,所以*a1=5 。在第二步时,把b...
  • 13185532141 :int* a= b; a=& b; b=& a; a是啥?
    慕帘庾2429 :答:这是典型的c语言指针题 int *a表示定义了一个int型的指针 a=b表示指针a指向b,即把b赋值给*a;&是取地址符,&b代表b在内存中的地址,*a=&b表示把b的地址赋值给*a。利用编译器编译该代码:结果为:
  • 13185532141 :c语言a= b, a+ b是什么意思?
    慕帘庾2429 :答:依据a,b的初始值,先计算‘=’号右边的值,暂时不考虑左边的值。可以得到:b=1;a+b=1,再将右边的值赋予给左边的值,所以a,b都是1。故a,b=b,a+b的意思就是同时给a,b两个赋值。如果a,b=b,a,则是a,b进行值交换。与a,b=b,a+b等价的形式是:a=0;b=1;c=a;a=b;b=c+b...
  • 相关链接

    欢迎反馈与建议,请联系电邮
    2024 © 视觉网