检查命令行参数是否为负数

时间:2014-09-09 19:44:14

标签: c arguments

我试图找出如何检测argc中的负数(在c中)。

代码:

int main(int argc, char *argv[]){
    printf("\n");
    for(int i = 0; i < argc; i++){
        printf("%s\n", argv[i]); //print what typed in the command line (arguments)
        //do an if statement here? if less than zero, any help would be great.
    } 
}

我正在考虑我在if语句中的挣扎(希望我在轨道上)。有什么建议吗?感谢。

我期待的输出:

$ ./a.out 5 4 6 3 5 -5
5
4
6
3
5
-5
Sorry, you have negative value. 

然后它将退出程序。

感谢。

1 个答案:

答案 0 :(得分:4)

只需在循环中的printf语句之前添加此条件

if(argv[i][0] == '-')
{  
    printf("Sorry, you have negative value. \n");
    exit (0);
}