📄 realint.h
字号:
/*=============================================
** 2005-8-22 **
** 识别实常数 **
** lizhu zhang **
=============================================*/
/*=============================================
**函数用能:判断该字符串是否为实常数.
**参数说明:[in]pString:接受传入的字符串
**返回值 : 成功返回0,错误返回i;不是整常数但
** 不错误返回1;
**===========================================*/
int FRealInt(const char *pString)
{
char word[2048];
strcpy(word,pString);
//定义标志,记录"."和"+ ","-"出现的次数
int flagDot(0),flagPlusSub(0);
//查看开始是否为符号或数字
if(word[0]=='+'||word[0]=='-'||(word[0]>='1'&&word[0]<='9'))
{
int i = 1;
while(word[i]!='\0'&&(word[i]>='0'&&word[i]<='9'))
i++;
if(word[i] == '.'||word[i] == 'e')
{
if(word[i] != 'e')
i++;
//识别小数点后面的部分
while(word[i]!='\0'&&(word[i]>='0'&&word[i]<='9'))
i++;
if(word[i] == '\0')
//识别成功
return 0;
else
{
i ++;
if(word[i] != 'e')
//识别错误
return i+1;
else
if(word[i+1] == '+' ||word[i+1] =='-' && flagPlusSub == 0)
{
//跳过e和+,-符号
i += 2;
while(word[i]!='\0'&&(word[i]>='0'&&word[i]<='9'))
i++;
if(word[i]!='\0')
return i+1;
else
return 0;
}
else
if(word[i+1]>='0'&&word[i+1]<='9')
{
i += 2;
while(word[i]!='\0'&&(word[i]>='0'&&word[i]<='9'))
i++;
if(word[i]!='\0')
return i+1;
else
return 0;
}
else
return i+2;
}
}
else
//错误,返回错误位置
return i+1;
}
else
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -