天天看點

考察對argc、argv[ ]的了解和指針數組的運用

判斷輸出結果

int main(int argc, char *argv[])
{
    int i, n = 0;
	for (i=1; i<argc; i++) { n = 10*n + *argv[i] – ‘0’; }
	printf(“%d\n”, n);
}
           

運作時輸入 ./aout 12 345 678

輸出結果為____B_____。

A、123 B、136 C、678 D、58

分析:

argc 指令中參數(字元串)的個數(包含./a.out)

argv[] 指令行中每一個字元串的首位址(包含./a.out)

輸入./aout 12 345 678後,argv=4;是以for循環三遍;

*argv[ i ],argv是指針數組,存放着指令字元串的首位址,比如:argv[1]就是字元串12的首位址,argv[1]就是取首位址的元素1;

argv[i] – ‘0’ 就是取出首位址的char型元素1轉化成整型1;

是以 第一次循環n=1;第二次循環n=110+3=13;第三次循環n=1310+6=136;

循環結束n=136.

繼續閱讀