命令行参数怎么使用 main函数的参数argc,为什么不用unsigned int?
main函数的参数argc,为什么不用unsigned int?在C语言中,无符号的类型很少使用,即使不可能有负值。这与C不同。这样做的好处之一是避免在执行减法时溢出,从而导致无法检测到的错误。例如,
main函数的参数argc,为什么不用unsigned int?
在C语言中,无符号的类型很少使用,即使不可能有负值。这与C不同。这样做的好处之一是避免在执行减法时溢出,从而导致无法检测到的错误。例如,如果我想判断argc是否大于或等于1,假设argc的类型是unsigned,并且我写if(argc-1>=0){…},那么就会出现一个错误。因为不管argc是什么,因为有溢出,括号中的条件总是正确的。这种虫子不容易找到。如果argc是有符号类型,则可以避免此问题