若干冷知识

2021-04-05

思考

瞎几把记QAQ

1. 在C++中强制类型转换有两种形式 可以是int(1.23)也可以是(int)1.23 而在C语言中只支持后者,前者会报错

2. unsigned(-1)(C++中的表示方法,参见第一条)表示无符号数的最大值
因为-1是以补码形式保存的,而无符号数全部二进制位都表示数值本身
-1的原码为1000 0000 0000 0000 0000 0000 0000 0001
-1的补码为1111 1111 1111 1111 1111 1111 1111 1111
即2^32-1==4294967296

printf("%u",-1);
cout<<unsigned(-1)<<endl;

3. getchar();实际上是fgetc(stdin);的一个宏定义,因为键盘也是一个文件

4. 字符串数组可以用二维数组实现如char a[10][10]={“apple”,”pear”}; 或者初始化算子char*a[10]={“apple”,”pear”}; (不推荐)