逗号表达式不是返回最右边的值吗
逗号表达式不是返回最右边的值吗
追答()优先级最高,其次是++;然后是=号,逗号的优先级最低;整个表达式计算完毕后格式如下:c = 0,a = 0,b = 4;
b的值是整个表达式的值;但是输出的是a,b,c的值;
这种格式才是输出表达式的值:printf("%d",(c=(a-=++a),(a+=b,b+=4))); 这时候输出的就是表达式最右边的值,也就是b的值,结果是4;
C语言题,a,c为啥等于0?
首先计算部分的逗号两边没有被括在一起,逗号左边的就是先计算++a,这时a=1,再计算a-=a,a就等于0,所以到这里c和a都等于0,最后再计算逗号右边的,a+=b这里a和b为0,再算b+=4,b就等于4。最后结果就是a=0,b=4,c=0,所以选择c答案。
c语言的选择题,答案为什么是0 啊,很不解!
因为十进制数范围在-65536~65535,这里写65536超过了写成二进制是111111111111111(十五个1,这是65535),再加一就变成了1000000000000000(这是0的补码),所以为0。
迭代法求平方根a,c语言新手求助,为什么结果是0?0代表什么?
因为在GCC的编译器上,main()一定要是int型的,即int main(){},而有些编译器就可以是void main(){}比如visual c++,如果是int main(){},最好有一个return 0,因为我们知道,只要不是void类型的函数都要有一个返回值,当然这个return 0;也可以不写,不过编译器会返回一个warning警告,而不是一...
C语言二级:为啥0AB中第一个字符0,不就应该跳出循环吗?请指点
因为字符'0'对应的ascii码是48,字符'\\0'对应的ascii码是0.
C语言,第六题为什么是0
二、如果表达式中间的等于号(=)有两个,则这个表达式是9\/2*2 ==9*2\/2,这个表达式是有意义的。这是因为,C语言中,“==”(双等于号)是一个判断相等的“逻辑运算符”,它的作用是比较前后表达式的值是否相等。如:5==6;前后不等,表达式的值是“逻辑假”,用0表示;5==5,前后相等,...
c语言中!((a<b)&&!c||1)值为什么是0
因此((a<b)&&!c||1)的值必为真(我们先当1处理),而!((a<b)&&!c||1)则为假,假在C语言中用0表示。所以!((a<b)&&!c||1)值是0。先算a<b的逻辑值,在判断c是否是0,如果是0,!c为真,否则,!c为假;再判断 a<b && !c 整体的逻辑值,同真为真,否则为假。再求出1+a...
(a,b,c)=0是什么意思?
首先因为“==”号比“=”的优先级高,所以先执行b==c,明显b等2,c等3两者不等,所以为0(逻辑运算,当b不等c时这个等式的值就为假即是0),再执行a=0,就把0值赋给了a。1、赋值语句本身也是一个表达式,也是有返回值的,它的返回值就是赋值给变量的值,比如b=1这个语句,会把1...
c语言。。求和怎么答案都等于0啊!
回答:先要设置一个sum的初始值。你这样当然是0了。在scanf("%d#%d#%d",&a,&b,&c);后面加一个sum=0;就行了。
c语言计算文本文件的大小为什么总是0?
估计是文件打开失败了 所以文件指针为空
C语言代码问题,下面代码的声明中int a=0,b=0,c=0为啥不可直接声明int a...
不做为变量名,这就能保证程序中变量名使用得正确。初始化变量并不是必须的,但是在c语言中未初始化的变量是其数据类型允许范围内的任意值(静态变量除外),为了防止运算中出错,一般建议定义变量后,立即初始化。你初始化为0就是保证以后在调用这个变量值的时候就不会出现未初始化的错误。