C编程校验位

时间:2010-10-28 15:21:59

标签: c

bool print_date(Date *d, char **argv) {

        if (isdigit(*argv+1)) {
                return printf("is d");
        } else {
                return printf("is not d");
        }

}

以上功能不起作用。 * argv + 1是用户输入,传入时是字符串还是什么类型?有人可以帮忙吗?

 int main(int argc, char *argv[])
 {

  Date d;

  get_date(&d, argv);


 }

2 个答案:

答案 0 :(得分:3)

*argv+1计算第0个参数的第一个字符的地址(即可执行文件名),并添加1以转移到它的第二个字符..我不认为这是你想要的要做。

您可以尝试使用argv[1],这意味着可执行文件名后的第一个参数为char *

答案 1 :(得分:0)

我猜你真正想要的是*(argv + 1)。你写它的方式是它将取消引用程序的第一个字符,添加一个,然后测试它是否是一个数字。