C语言中a=2,!a 的值是多少
发布网友
发布时间:2022-04-27 05:36
我来回答
共5个回答
热心网友
时间:2022-06-27 00:54
a=2,!a
中有三个运算符号
1、
=
赋值运算符,如:a=5
表示将5存储到a中
2、
,
逗号运算符,逗号前后为表达式,顺序运算返回最后一个表达式的结果,如:
while( scanf("%d", &a), a>0 ) //读一个数,且a>0时循环,并不在乎scanf()函数的运算结果 scanf("%d", &a), a>0 中,操作两个表达式,但只返回a>0的运算结果
{
....
}3、!
非运算
符,其返回值只有两个,1或0。
C中规定,
非0为1,非(非0)为0,如:
!5
==
0
,
!0
==
1
,
!1
==
0
结合以上,a=2,!a
的运算过程为:
a=2
!a
==0
返回0
热心网友
时间:2022-06-27 00:54
a=2,!a的值
这个问题,主要考了两个知识点
1)表达式求值顺序
2)逗号运算符的返回值
第一步
a=2
这个就是把2赋值给a
第二步
!a
这里是not运算符,因为a==2,所以!a就是0
第三步,逗号运算符的最后一个结果就是整个逗号表达式的值
因此整个表达式的值是0
热心网友
时间:2022-06-27 00:55
付费内容限时免费查看回答同学你好,这道题的答案是c=2a
热心网友
时间:2022-06-27 00:55
*的优先级比+=和-=高,所以先算a*a=3*3=9。+=和-=是同级的,但是右结合的,所以先算a-=9,结果a为3-9=-6。最后算a+=(-6)=(-6)+(-6)=-12。不过a*a后少了个分号,严格说就是错误语句,连编译都过不了的!
热心网友
时间:2022-06-27 00:56
因为a=2>0,
非0的数真,0为假
!是逻辑非运算符,使原来的表达式真假对调,所以!a=0