!(--x)在c语言中是什么意思?

具体例子:程序段intx=3;do{printf("%3d",x-=2);}while(!(--x));求程序段结果,求解什么意思?要详解,答案是1和-2... 具体例子:程序段
int x=3;
do
{printf("%3d",x-=2);
}
while(!(--x));
求程序段结果,求解什么意思?要详解,答案是1和-2
展开
 我来答
八哥说科技
高粉答主

2020-02-10 · 分享科技资讯,共享科技生活
八哥说科技
采纳数:113 获赞数:78623

向TA提问 私信TA
展开全部

!(--x)在c语言中的意思是:对变量x先进行自减,再对变量x的值取逻辑非,如果x为0,表达式为真,非0表达式为假。

" !0" 这个逻辑表达式的值为1(判断的这个数为0,成立,则其表达式的值为1)," !1" 这个逻辑表达式的值为0(判断的这个数非0,不成立,则其表达式的值为0)。“--”是自减运算符,含义是对变量先减1后取值。

在计算机里面进行的是二进制运算,逻辑判断的结果只有二个值,称这二个值为“逻辑值”,用数的符号表示就是“1”和“0”。其中“1”表示该逻辑运算的结果是“成立”的,如果一个逻辑运算式的结果为“0”,那么这个逻辑运算式表达的内容“不成立“。

扩展资料:

C语言运算注意事项:

1、注意表达式的优先级。圆括号【()】属于第一级优先级,逻辑非运算符【!】属于第二级运算符,因此先进行圆括号【()】内的运算,再进行逻辑非运算符【!】运算。

2、相较于语言中的+=和-=运算符,自增运算符更加简洁,且可以控制效果作用于运算之前还是之后,具有很大的便利性。

参考资料来源:百度百科-逻辑非

参考资料来源:百度百科-自增自减运算符

彭听然Zl
推荐于2017-11-25 · TA获得超过747个赞
知道小有建树答主
回答量:531
采纳率:0%
帮助的人:315万
展开全部
while(x)意思是说x非零情况下继续运行,那while(!x)就是说x是0的情况下继续运行,--x是说在用x参与运算前做x=x-1的操作。把上面的组合一下就是while(!(--x)),懂了吗?
追问
谢谢谢谢
追答
想谢我就麻烦采纳为满意答案!^-^
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shangqiu100
高粉答主

2012-04-20 · 每个回答都超有意思的
知道大有可为答主
回答量:8334
采纳率:92%
帮助的人:1603万
展开全部
这个是c语言中唯一的三目运算符。

string1 ?a : b
意思是说:当string语句判断是真的时候,该语句使用结果a,否则是用结果b。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wanfustudio
2011-06-28 · TA获得超过1万个赞
知道大有可为答主
回答量:5513
采纳率:100%
帮助的人:3761万
展开全部
(!x++||y--)
这个逻辑大概就是
x等于0或者y不等于0最后表达式结果为1

++和--是后做的
还有如果x为0,y就不--了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhengwensai
2012-04-20 · 超过32用户采纳过TA的回答
知道答主
回答量:128
采纳率:0%
帮助的人:70.7万
展开全部
这个是一个条件语句的简写
就相对于:
if aa
b
else
c
如果aa为真,则执行b,否则执行c
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(13)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式