c语言中=与==的区别,求详解 a=0,b=0,c=0 if(a=b+c) printf("**\n") else printf("##\n")

作者&投稿:通民 (若有异议请与网页底部的电邮联系)
C语言中 int a=0,b=0,c=0; if(a&&++b) c++; printf("%d,%d\n",b,c); b和c为什么都等于0~

因为a=0所以&&右边的就被短路了,不被执行, 所以最后a, b, c的值都不变,都为0

main()
{
int a=0, b=0, c=0; //定义三个整形变量 初值都为 0
if(a=b+c) //如果a = b + c 成立
printf ("***a=%d
", a ); //输出 a 的值
else printf("$$$ a=%d
", a ); //if 语句不成立 还是输出 a 的值
}

=表赋值;==表逻辑判断;
a=0,b=0,c=0表示a值为0,b值为0,c值为0
if(a=b+c)表示a的值为b+c的值(这不表逻辑判断),当a赋值成功后,if里返回1(真),则执行printf("**\n") 。

= 是赋值运算符
就是右边表达式的值赋值给左边的变量
a=0 就是变量a的值为0
a=b 就是变量a的值为变量b的值

== 是比较运算符
a == 0
就是判断a的值是不是0,a是0时 表达式返回1,不是0时表达式返回0

本质在于“=”是赋值符,相当于把其右边的东西给左边。比如a=0,就是把0这个“东西”放到a这个“仓库”里。 而“==”是一种运算,指的是左边的“东西”等于右边的“东西”,在计算机语言中“东西”一般就是“数据”。至于是不是真的等于不用管,重点是在判断。

=是赋值语句
==是比较语句
还有就是题目里面if(a=b+c)是错误的,这个判断的时候要出错的

=
表示赋值
a = 1;
b= a;
意思就是 把1赋值给a 把a的值赋值给 b 所以 a和b 都等于1

==
表示判断 跟 符号 > ,< , >=, <= 一样
a = 1;
b = 1;
if( a==b )
{
printf("**\n")
}
意思是 a如果等于b的话 就输出两个* **


在Excel中,区域名可以在以"="(等号)开头的公式中使用吗?请举例.谢谢...
不可以

c语言 子函数运行完毕后,不会被释放的区域有哪些?分别是怎么定义的...
常量、静态变量不会释放 堆区也不会释放,要free才会释放

WIN10的win+空格 切换不了输入法了
2、左侧栏选择“区域与语言”,之后右侧单击一下“中文”,之后会显示“选项”,并点击进去,如图。3、之后点击“添加键盘”,之后弹出如图所示界面,选择一个输入法。4、鼠标右击计算机左下角“菜单栏”,弹出如图所示窗口,点击进入“计算机管理”。5、左侧栏选择“任务计划程序“->"任务计划库"->"...

C语言为什么函数中*n=k和n=&k调试出的结果不一样?
在这个函数里,参数使用 int *n,期望fun函数运行结束后,在不使用return的前提下,得到k的值。k在fun函数里面是局部变量,局部变量意味着fun函数结束后,k就被系统销毁了。具体讲,就是fun函数被调用的时候,系统在指定位置(k的地址)开了一块存储区给变量k,让它存放数据(k的值)。你可以随时把...

c语言中*p=a与*p=&a有什么区别
首先来说一下*和&,为了便于理解你可以认为,这里*是取内容,&是取地址。我不讨论它们的区别,因为*p=&a这个形式一般是错的,常用的是p=&a。下面比较*p=a和p=&a。看图,图很详细。显然它们是等价的。然后比较*p=&a和p=&a;则这两种都是对指针变量的赋值,赋值有两种形式 ①先定义后赋值 int...

C语言中的指针问题到底是怎么回事~
当你通过指针来访问指针所指向的内存区时,指针所指向的类型决定了编译器将把那片内存区里的内容当做什么来看待。从语法上看,你只须把指针声明语句中的指针名字和名字左边的指针声明符*去掉,剩下的就是指针所指向的类型。例如: (1)int *ptr; \/\/指针所指向的类型是int (2)char *ptr; \/\/指针所指向的的类型是...

...s="hello"; String t="hello"; expression s==t will return...
对于第二种,JVM首先会在字符串常量池(String pool)中查找是否有内容一样的String对象,如果有,则直接把这个已有的String对象返回给用户,如果池中没有,则先在堆区创建这个String对象,将其引用返回给用户,同时将该引用添加至strings pool中。明白了么?如果明白了,还要弄清楚java中 == 与 equals...

C语言中*p=*p1*(*p2);是什么意思
sizeof(int)); \/\/ 申请内存空间 地址为0x002d1578*p1 = 2; \/\/ 赋初值(存到地址为0x002d1538的内存区)*p2 = 3; \/\/ 赋初值(存到地址为0x002d1578的内存区)*p = *p1 * (*p2); \/\/ 运行结果为6(存到地址为0x002d14f8的内存区)注:内存地址是经过调试后知道的。

请问什么叫区角游戏
区角游戏是幼儿在游戏区(或称活动角、活动区)中所进行的某种特定活动。区角游戏的区域包括角色游戏区、积木区、玩沙玩水区、语言图书阅读区、音乐表演游戏区、美工区、科学发现区、自然角、益智区、操作区等等。开展区角活动能够促进幼儿自主参与活动、自发地学习;增进幼儿、师生交流,培养幼儿交往能力...

计算机中二进制加减法时,是如何判断溢出的?
溢出是在有符号运算中出现的,异号运算 OF=0,同号运算 OF=1。溢出,在用二进制进行加减计算的时候,要看“最高位的进位”就“次高位的进位”。这两个进位,如果相同,则无溢出。设两个8位补码表示的数b7b6b5b4b3b2b1b0和a7a6a5a4a3a2a1a0相加,把b7 + a7的进位称为C7,把b6 + a6的进位...

西宁市14789106059: C语言里面的=与==有什么区别 -
长沙凯麝香: =是赋值语句 例如 int a=5;就是将5赋值给a 而==是判断语句,例如if(int a==5){};else{};就是如果a=5成立则执行if语句,否则就执行else语句

西宁市14789106059: C语言中=号和==号有什么区别? -
长沙凯麝香: 正好给你说反了.=号是赋值 ==是比较.a=b是把b的值赋给a,b本身值不变. a==b是判断a的值是否等于b比如说 int a=10,b=5; a=b; if(a==b) printf("%d,%d"a,b);结果就是5,5刚才我也说错了.嘿嘿……

西宁市14789106059: 51单片机c语言中的“=”和“==”有什么不同 -
长沙凯麝香: 51单片机可以用c来编写 ,也可以用汇编语言来编写 . 现在好多单片机都是用c来编写的,这样比汇编大大地提高了效率.并且编程员,也感觉比汇编编写简单的多.

西宁市14789106059: c语言中=与==的区别,求详解 a=0,b=0,c=0 if(a=b+c) printf("**\n") else printf("##\n") -
长沙凯麝香: = 是赋值运算符 就是右边表达式的值赋值给左边的变量 a=0 就是变量a的值为0 a=b 就是变量a的值为变量b的值== 是比较运算符 a == 0 就是判断a的值是不是0,a是0时 表达式返回1,不是0时表达式返回0

西宁市14789106059: 一个C语言问题,关于==和=的区别 -
长沙凯麝香: C语言中.这两个是不能通用的.是不一样的.=号是指赋值.比如a=10; 把10赋值给a.==是逻辑判断符,判断==前后两个量是否相等.比如 if(a==10) 意思是如果a等于10的话.

西宁市14789106059: c语言中=和==的区别 -
长沙凯麝香: 有区别 “=”是赋值语句,== 用来判断是否相等 如: if(x==10) x如果等于10 则括号里的值是1执行,x不等于10 则括号里的值是0 不执行 如果写if(x=10),那么 x=10 这个式的值其实就是1 ,直接执行.希望可以帮助你

西宁市14789106059: 请问C语言中的算术运算符“=”与关系运算符“==”有什么区别啊?貌似都有赋值功能··· -
长沙凯麝香: '='是赋值符号,比如把a值复制到b(b=a) '=='的关系运算符,是判断两边值是否一样,返回的是bool类型,

西宁市14789106059: c语言中=与==有什么不同 -
长沙凯麝香: =是表示赋值,把=后面的那个值赋值给=前面那个,需要相同的类型才行.比如int的值只能给int(在不强制转换的情况下都是这样,整数字可以赋值给double,比如double num = 1;).==是表示等于(就像数学里的=),是一个判断符.

西宁市14789106059: C语言中==和=有什么区别? -
长沙凯麝香: 区别是这样的 例如 a=3,这时a的值是3 a==2这时是判断a等不等于2,上面a等于3,这句就是判断3等不等于2.

西宁市14789106059: C语言中"="与"=="的有什么区别啊 -
长沙凯麝香: 第一个=他是赋值,而第二个是相当于我们数学里面的等于.这就是他们的区别.他们如a=2,是讲把2赋给a.而第二个==,如a==2那就是a的值就是2了.

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