4行代码将字符串转为长整数

来源:互联网 发布:虎嗅招聘php 编辑:程序博客网 时间:2024/05/22 10:42

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指向的地址