page121
5.1.递增、递减操作符和指针
将递增操作符用于指针时,将把指针的值曾嘉琪指向的数据类型占用的字节数
例:
double arr[5] = {21.1 , 32.8 , 23.04 , 45.2}
double *pt = arr;
++pt
问题,将*和++同时用于指针时,运算符会将什么解除引用,将什么递增。这取决于操作符的位置和优先级。前缀递增、前缀递减、和解除引用操作的优先级相同,将以从右往左的方式进行结合。后缀递增和后缀递减的优先级相同,但比前缀操作符的优先级高。结合方式是从左到右.
前缀操作符的从右到左结合规则,意味着*++pt解释为:现将++应用于pt然后将*应用于被递增后的pt
另一方面,++*pt意味着先取得pt指向的值,然后将这个值加1,指向的仍然是arr[2]
5.2.C-风格字符串的比较
C++中数字名是驻足的地址,同样,用引号括起来的字符串常量也是其地址。
所以下面的这个语句并不是判断这个字符串数组是否是mate,而是判断是否是同一个存储地址
word== “mate”
所以比较的话应该使用strcmp进行比较。
string可以直接用操作符进行判断。
5.3循环与文本输入
cin>>ch;这种输入方式将导致空格与换行符,解决方式是使用get(ch);