C语言 与 argv 一起使用时的取消引用运算符[i]


#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
if (isdigit(*argv[1]))
{
int x = atoi(argv[1]);
printf("%dn", x);
}
return 0;
}

我不明白为什么使用isdigit()时需要星号,为什么使用atoi()时不需要星号

argv[1]

是一个字符串,因此*argv[1]是字符串中的第一个字符。 和argv[1][0]一样. 因此,调用isdigit(*argv[1])会检查字符串中的第一个字符是否为数字。

该测试用于检查参数是否(可能(是一个数字,之后整个字符串被传递到atoi()以获取整个值。

最新更新