c语言中 i=!i 是什么意思啊

 我来答
风若远去何人留
推荐于2017-09-27 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450132
专业C/C++软件开发

向TA提问 私信TA
展开全部
!是C语言的逻辑非函数。
!a的运算规则为:
1 a如果为0,结果为1;
2 a如果不为0,结果为0。
于是i=!i的作用就是,如果i非0,则i值赋值为0,否则i值赋值为1.
i=!i与i=(i==0);效果相同。
龙之卉莱悌
2020-02-01 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:28%
帮助的人:713万
展开全部
单独运算“i!”表示i的阶乘,但在你这个程序里,似乎不应该把它们连起来,因为“!=”是不等于的意思。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
li501300065
2012-04-09
知道答主
回答量:13
采纳率:0%
帮助的人:5.5万
展开全部
就是把变量i的值取反,然后再赋给i。注意是逻辑取反,即如果i为非零,执行完这条语句后i为零
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Negamax
2012-04-09 · TA获得超过2723个赞
知道小有建树答主
回答量:656
采纳率:100%
帮助的人:290万
展开全部
#include "stdio.h"
#include "conio.h"

main()
{
int m=0,n=3;
m=!m;
n=!n;
printf("%d,%d\n",m,n);
getch();
}

测试结果:1,0

C语言中所有非0的数都是True,0是False
!表示取反。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
精致且灿烂丶典范k
2012-04-09 · TA获得超过9583个赞
知道大有可为答主
回答量:1.3万
采纳率:3%
帮助的人:4099万
展开全部
C语言中, gets(s);while(s[i]!=\\'\\\\0\\')是什么意思啊 get(s); 是获取字符串s或者数组s while(s[i]!=\\'\\\\0\\')应该是表示错误。表示,Bynyxm
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式