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的话 就输出两个* **

C语言中,与2乘左移,与2除右移,这个是啥意思,求详细解释!!!
答:对一个数实施左移操作=对这个数×2;对一个数实施右移操作=对这个数÷2。a=ox32(16进制)00110010 b=a<<2 这个时候b=11001000对 那么此时a=00110010 继续 c=a<<2 请问c是在原来a的初值(ox32)上移动 这个时候c=11001000 一个十进制的数,在电脑中都可以按二进制表示。例如:数字8,二...

c语言 求结果及详细解释??、
答:10 10 9 0 主要是i++与++i的区别。++i 和 i++,在 单独使用时, 就是 i=i+1。本程序中,y = i++, 相当于 y = i; i = i + 1。先使用 i 的值,再令i+1。x--的话就是先使用x的值进行输出,再让x=x-1

c语言中分析此表达式,求出表达式的值及变量i,j,k的值(变量初值i=1,j=...
答:首先要理解 前++的意思是 先加1,再使用,即:++i 可分成两个表达式:i=i+1 , i 按此思想去分析:i=1,j=4,k=5 i=++j, 运行后,先算j=j+1=5, 然后i=j=5 j=++k 先算k=k+1=6, 然后j=k=6

C语言中为什么!1=0。。。!0=1,求详解
答:C语言中,任何非零数值表示“真”,零表示“假”。“!”表否定。“真”否定就是“假”,“假”否定就是“真”所以, !1 = 0, !0 = 1.!x = 0 (x为任意非零数值)!0 = 1 (0的否定则通常为1,不会是其他数值)

编程语言包括哪几种,它们的区别是什么
答:ASP的编程语言是VBScript之类的脚本语言,JSP使用的是Java,这是两者最明显的区别。 此外,ASP与JSP还有一个更为本质的区别:两种语言引擎用完全不同的方式处理页面中嵌入的程序代码。在ASP下,VBScript代码被ASP引擎解释执行;在JSP下,代码被编译成Servlet并由Java虚拟机执行,这种编译操作仅在对JSP页面的第一次请求时发生...

C语言中/与%的区分?
答:求余运算的结果等于两数相除后的余数。‘/’可以计算整型数据和实型数据,而‘%’只能计算整型数据。‘/’的运算结果是表达式的商,而‘%’的运算结果是表达式的余‘/’结果的正负取决于除数和被除数‘%’结果的正负只取决于被除数比如:在数学上:9÷2=4……1在C语言中:9/2=49%2=1在数学中...

求大神详解c语言题目。变量a=3,b=2,c=5 则表达式c=b>a‖a+1==b...
答:c=b>a||a+1==b-- =2>3||4==2(用2后b自减为1)=0||0=0 所以c+b为1

C语言问题求解谢谢
答:程序运行的详细过程,请见此图:所以,完整的输出结果为 1 1 0 0

C语言有段代码不太懂其中两段p=a; 是什么意思???求大神帮助
答:在C语言中,数组的名字可以代表指向这个数组第一个元素的指针,也就是说,这里的a代表了指向a[0]的指针,p是一个整形指针,p=a就是将指向a[0]的指针赋给p 后面的p++,因为p是整形指针,这里自增运算可以自动将其赋值为数组中下一个元素的指针,例如a[1]的指针。第二处是将p重新定位到a数组...

在C语言中n!是什么意思
答:他们的区别在于:n--这个表达式的值是n自减之前的值,如:int n=5;int a=n--;//此时a的值为5 n--这个表达式的值是n自减之后的值,如:int n=5;int a=--n;//此时a的值为4 例如:n=10;k=10*n--+3;则结束后,k=103, n=9 --n就是在表达式中,先n自n自减,再取n的值进行...