usmart的usmart_get_fname问题

2019-07-21 02:27发布

原子哥,看了usmart_get_fanme的函数。
下面这个if成立之后,是不是加break效率会高一些。
res在while结束之后,把上赋0。也没有用上,只是用到了
offset。如果不加break,while会执行完函数名部分。
if(nchar!='('&&nchar!='*')offset=res; //跳过空格和*号

另外,下面的这行,offset+1是默认为 void(也有可能是别的)跟函数名之间只有一个空格吗
if(offset)strtemp+=offset+1;//跳到函数名开始的地方   


res=0;
strtemp=str;
while(*strtemp!='('&&*strtemp!='') //此代码找到函数名的真正起始位置
{  
    strtemp++;
    res++;
    if(*strtemp==' '||*strtemp=='*')
    {
        nchar=usmart_search_nextc(strtemp); //获取下一个字符
        if(nchar!='('&&nchar!='*')offset=res; //跳过空格和*号
    }
}  
strtemp=str;
if(offset)strtemp+=offset+1;//跳到函数名开始的地方   
res=0;
nchar=0;//是否正在字符串里面的标志,0,不在字符串;1,在字符串;
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。