main函数默认参数argc和argv的详解


    int main(int argc, char** argv)   
    {  
        int n = 0 , i;  
        for(i = 1 ; i < argc ; i++)  
            n = n * 10 + *argv[i]-'0';  
        printf("%d\n",n);  
        return 0;  
    }  

若运行时输入以下命令行   tt   12   345   678,则程序运行的输出结果是 :136

主函数的第一个参数argc为整型参数,记下从命令行输入参数的个数;

第二个参数argv是一个字符型的指针数组,它的每一个元素分别指向命令行输入的各字 符串。

在本例中argc的值为4,argv[0]指向字符串“tt”,argv[1]指向字符串“12”,argv[2]指向字符串“345”, argv[3]指向字符串“678”。

程序中,通过一个for循环,遍历了后面的三个参数字符串,每次将n自乘10,然后累加argv[i]-‘0’,即 第i个参数字符串的首字符减去‘0’。  一个数字字符减去‘0’字符,即可得到这个数字字符的实际数值,因此三次循环的结果是让n的为136。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM