在c语言中!a是什么意思?

如题所述

C语言中提供了自增1运算符++和自减1运算符--
而且,这两种运算符,还分为前缀运算和后缀运算
如:
int a=5;
a++; //后缀运算,表示a=a+1 = 5+1=6
a--; //后缀运算,表示a=a-1 = 6-1=5
--a; //前缀运算,表示a=a-1 = 5-1=4
++a; //前缀运算,表示a=a+1 = 4+1=5
以上单独使用自增1或自减1运算符,前缀运算和后缀运算没有区别,其结果都是完成变量a的自加1或自减1
前缀运算和后缀运算的区别在于:前缀运算,先运算,再使用变量;后缀运算,先使用变量,再运算。如:
int a=5;
printf("a=%d\n", ++a ); //前缀运算,先运算a=a+1=5+1=6,再使用变量a,输出结果a=6
a=5; //重新赋值为5
printf("a=%d\n", a++ ); //后缀运算,先使用变量a,输出结果a=5,再运算a=a+1=5+1=6
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-09
a的取反
a如果是非0的数,那么!a等于0
a如果是0,那么!a等于1
所以!a要么等于0要么等于1

你可以自己写代码测试下
int a = 5;
int b = !a;//此时b为0
a = 1;
b = !a;//此时b为0
a = 0;
b = !a;//此时b为1本回答被提问者和网友采纳
第2个回答  2012-08-09
! 逻辑取反
类似 vb 里的Not

非零为真 零为假
第3个回答  2020-01-13
第4个回答  2012-08-09
就是去 a 相反的值