在 C 中检查变量是字符串还是整数

Sav*_*rio 3 c

我正在编写一个C程序,我必须通过命令行读取参数。如何检查传递给程序的参数是字符串(即字符数组)还是整数?我可以在 C 中使用任何即时调用吗?

Dav*_*eri 5

命令行传递的参数始终是字符串,如果你想检查这个字符串是否可以转换为整数,你可以使用strtol

char *ptr = argv[1];
long num;

num = strtol(ptr, &ptr, 10);
if (*ptr == '\0')
    /* arg is a number */
else
    /* arg is NOT a number */
Run Code Online (Sandbox Code Playgroud)