1、switch语句运行过程:从第一个匹配条件開始。后边的全部代码都运行,直至结束或遇到 break;
#include<stdio.h> int main() { int x = 1,a = 0,b = 0; switch(x){ case 0:b++; case 1:a++; case 2:a++,b++; } printf("%d %d\n",a,b); return 0; }输出结果: 2 1
2、逻辑运算符的运算规则:
A && B 当A为真时推断B,当A为假时直接得出最后结果为假。
A || B 当A为假时推断B,当A为真时直接得出最后结果为真。
#include<stdio.h> int main() { int i = 1, j = 2, k = 3; if(i++ == 1 &&(++j == 3 || k++ == 3)){ //k++并为运行 printf("%d %d %d\n",i,j,k); } return 0; }输出结果: 2 3 3
3、 sizeof()和strlen()的差别
sizeof() 求一个对象所占内存的大小
strlen() 求一个字符数组的长度,遇到 \0 觉得字符串结束,\0 不计入长度
#include<stdio.h> #include<string.h> int main() { char a[7] = "a0\0a0\0"; int x,y; x = sizeof(a); y = strlen(a); printf("%d %d\n",x,y); return 0; }输出结果: 7 2