long sign = 0,result = 0;
p[0]=='-'?sign=-1:p[0]=='+'?sign=1:return ERROR;
for(int i = sign*sign; p[i]>='0'&&p[i]<='9'&&i<n;result=result*10+p[i++]-'0';);
return result*sign;
第3行代码实际上应该是2行代码,想不到可以继续优化的地方了
实现这段代码时,突然意识到好多基础知识都忘光了
比如:逗号表达式是表达式的一种,整个表达式的值是最后一个表达式的值
指针常量 int * const p 指针p是一个常量,指向的地址是固定的不可改变,最常见到的例子就是数组名
常量指针 const int* p 指针p指向的对象是一个常量,不能通过指针p改变对象的值,但可以改变p指向的地址