【发布时间】:2013-10-06 16:27:37
【问题描述】:
我是 C 新手,我正在考虑如何自己编写这个函数。我从命令行获取一个参数,因此它存储在 argv 数组中,我想确定它是否为数字。最简单的方法是什么?
谢谢
#include <stdio.h>
int isNumber(int *param)
{
if (*param > 0 && *param < 128)
return 1;
return 0;
}
int main(int argc, char *argv[])
{
if (argc == 2)
isNumber(argv[1]);
else printf("Not enought parameters.");
return 0;
}
【问题讨论】:
-
是什么让您认为
argv[1]被转换为int? -
你的代码编译不会出错。因为
argv[1]是一个char*,但isNumber想要一个int(而且命名非常糟糕:每个int param是 一个数字!)