i!在c语言中是什么意思

如题所述

是自增运算,而且是先加1后再执行。

例如:
int i,k;
for(i=0,k=0; i<5; i++)
{
k += i++;
}
第一次进入时i的初始值是0,k的初始值也是0。这时的i++并没有在本次语句中起到加一的作用,而是要在本次操作结束后再起作用,也就是在第一次循 环完全结束后。进入循环体本人看,k += i++;这时由于这里的是i++(需要先操作后加1),所以,k的值理所当然是0了,而在本句结束后i的值就进行了加1操作,在本次循环结束时又进行了一 次加1操作,所以本次循环结束后k=0,i=2;

第二次进入时i的初始值是2,k的初始值是0。同理分析,在k += i++;后k的值为2了,而i的值也由于两次i++变为了4。所以,本次循环结束后k=2,i=4;
第三次进入时i的初始值是4,k的初始值是2。同理分析,在k += i++;后k的值由于经过原来的值与i当前的值相加后变成了6,而i的值同样是在最后加了两个1。所以在本次循环结束后k=6,i=6;
第四次准备进入循环时,发现i的值已经比5大了。因此,程序终止。最后k的值为6,i的值也为6。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-02-05
!在c语言中代表非,就是相反,非零值变成0,0变成非零值,在这里,需要考虑你的i,如果i是任意非零变量,那么i!的结果就是0,反之,就是1
希望我的回答你能满意
第2个回答  2016-02-05
要看它的前后写了什么。
i 可能是变量名, ! 是 运算符 逻辑 非
例如:
// i! 注解行里 的 注解
/* i! */ 注解行里 注解
"i!" 字符串
if ( i!=0) {。。。} 条件 变量 i 不等于 0
-----
如果 你问的是 !i, 则是 计算 非 i 的 值。如果 i 不等于 0,非 i 得 0,
如果 i 等于 0,非 i 得 1。本回答被网友采纳
第3个回答  2020-01-10
c语言中没有"?"这个关键字
不管什么c的编译器
i=?11都是编译不过的
一般情况下只有i+=11或者i=~11
我遇到过类似i=?11的情况一般是编辑c文件的时候字符集有问题
中文会显示乱码或者?或者类似?的一些古怪字符
第4个回答  2016-02-05
‘非’的意思,比如说x不等于3,用c需要表示便是x!=3,追答

求采纳

本回答被提问者采纳
相似回答