我正在编写一个需要接受命令行输入的代码。输入验证是标记标准的一部分,因此我正在编写一段代码来检查是否输入了一个数字,以便稍后将其放入主代码中(为无效输入添加一个 else 情况以使用户出错)
#include<stdio.h>
int main(int argc, char* argv[])
{
double a;
a = 75;
if(argc == 2);
{
sscanf(argv[1], "%lf", &a);
printf("%lf \n", a);
}
printf("%d% \n", argc);
return(0);
}
当命令行上至少有一个参数时,程序会打印 a ,但是当没有输入参数时它会打印分段错误,并且当有多个参数时仍然会扫描。
帮助?