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。