不常用C/C++,整理一些基础语法备忘。
编译器知识
一般在苹果机之外的电脑,printf() 从左往右扫描,从右往左计算。
在苹果机下,printf 从左往右扫描,从左往右计算。
这其实和编译器用的c库有关。一般大家为了方便,直接通过在mac下安装xcode,进而达到安装c库的目的。所以在使用printf()的时候最好避免进行计算。下面代码在mac运行下为 2 2 2 2,别的电脑下运行为: 2 2 3 2。
1 |
|
类型转换
1. int to char
int a = 1; char b = a+'0';
2. char to int
C语言中每一个字符都是一个数字(ANSII码),int to char 只要减 ‘0’ 就好。char在技术实现上是整数类型,
char a = '1'; int b = a-'0';
待续。
函数
- scanf()函数返回的值为:按指定格式正确地输入变量的个数。具有短路性质,即当第n个变量输入错误时,返回n-1,而不对之后的变量正确性做判断。出错时则返回EOF(-1)。
集合
set和multiset会根据特定的排序准则,自动将元素进行排序。不同的是后者允许元素重复而前者不允许。