- ‘\0’和空格不是同一个概念。
‘\0’表示字符串结束符,代表字符串结束,而空格是一个普通字符,显示在文本中可以选中。
‘\0’的 ASCII 码为 0,空格的 ASCII 码为 32,两个不是同一个字符
在计算机程序中通常使用’\0’表示字符串结束,空格为文本字符,二者完全不同 - Scanf 以空格或回车为结束符,gets 不然
- 一个汉字在字符串中是以两个负的字符形式存储,所以本题只要把字符串中负字符的个数找出来,再除以 2 就 OK 了。汉字机内码在计算机的表达方式的描述是,使用二个字节,每个字节最高位一位为 1。计算机中, 补码第一位是符号位, 1 表示负数, 所以 汉字机内码的每个字节表示的十进制数都是负数
- 负数的补码等于原码除第一位取反+1
- 声明时不能出现连续赋值,如 int a=b=2
- 应用逻辑移位时,空缺部分全部填充 0
- 表达式 1?表达式 2:表达式 3 的含义是先求表达式 1 的值,若 1 为真,再求 2 的值作为结果;若 1 为假,再求 3 的值作为结果
- c 语言中,变量不可以用二进制数来赋值,在 c 语言中,若要给变量赋整型值,则只可以用十进制数、八进制数和十六进制数来赋值,示例:
1 | int n; |
- 排序算法
- 有符号数据被赋值给无符号数据时,符号位 1 被当作数值位运算
- 应该注意的是,一个结构指针变量虽然可以用来访问结构变量或结构数组元素的成员,但是,不能使它指向一个成员。也就是说不允许取一个成员的地址来赋予它。因此,下面的赋值是错误的。
ps=&boy[1].sex;
而只能是:
ps=boy;
(赋予数组首地址)
或者是:
ps=&boy[0];
(赋予 0 号元素首地址)