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);
}
答案 0 :(得分:3)
*argv+1
计算第0个参数的第一个字符的地址(即可执行文件名),并添加1以转移到它的第二个字符..我不认为这是你想要的要做。
您可以尝试使用argv[1]
,这意味着可执行文件名后的第一个参数为char *
。
答案 1 :(得分:0)
我猜你真正想要的是*(argv + 1)
。你写它的方式是它将取消引用程序的第一个字符,添加一个,然后测试它是否是一个数字。