我正在尝试编写一个函数,该函数能够确定字符串是否包含实数或整数值。
这是我能想到的最简单的解决方案:
int containsStringAnInt(char* strg){
for (int i =0; i < strlen(strg); i++) {if (strg[i]=='.') return 0;}
return 1;
}
但是,当字符串很长时,此解决方案的速度确实很慢...有任何优化建议吗?
任何帮助将不胜感激!
最佳答案
您正在使用strlen,这意味着您不必担心unicode。在这种情况下,为什么要使用strlen或strchr,只需检查'\ 0'(空字符)
int containsStringAnInt(char* strg){
for (int i =0;strg[i]!='\0'; i++) {
if (strg[i]=='.') return 0;}
return 1; }
与在每次循环迭代中通过字符串进行解析相比,仅通过字符串进行解析。