请问如何用c语言表达先读到字母而不是数字

比如给你一个字符串“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对照表

img


有用请采纳