++/--在字符前后的区别
当++在字符前的时候表示先给字符赋值再给前面的数赋值
int main()
{
int a = 1;
int b = ++a;
printf("%d %d",a,b);
return 0;
}
比如这个,输出结果是2 2
而++在后面时则是先给前面的数赋值,再给自己赋值
int main()
{
int a = 1;
int b = a++;
printf("%d %d",a,b);
return 0;
}
这样输出结果是2 1
-- 同理
几个操作符
&&逻辑与
||逻辑或
>大于
>=大于等于
<小与
<=小于等于
==判断是否相等
!=不等于
下面是简单逻辑判断
test——C语言中的虫洞
void test()
{
int b = 1;
b++;
printf("%d",b);
}
int main()
{
int a = 1;
while(a<=8)
{
printf("%d",a);
a++;
test();
}
}
输出 1222324252627282
在这里,test相当于一个虫洞,把下面的次序调换
根据输出结果不难发现,每一次进入void test()都会让b重置,所以这里的b的值不变
static 可以保存变量,使变量不被重置
void test()
{
static int b = 1;
b++;
printf("%d",b);
}
int main()
{
int a = 1;
while(a<=8)
{
printf("%d",a);
a++;
test();
}
}
输出 1223344556677889
重新进入void test()时b没有被重置,反而在上一轮的赋值中保存了下来