比如给你一个字符串“abc123”,我先读到了字母,那么就返回null,如果是“123abc”,就返回1的地址
供参考:
#include <stdio.h>
#include <ctype.h>
int main()
{
char str[] = "abc123", * p = str;
while (*p) {
if (isalpha(*p))
{
p = NULL;
break;
}
else if (isdigit(*p))
break;
p++;
}
if (p)
printf("%d", p - str);
else
printf("NULL");
return 0;
}
直接判断ASCII码即可,把每一个字符转换成ASCII码,然后判断该字符的数字是不是在48~57这个区间,如果是在这个区间,那就是数字
附上ASCII对照表