有以下程序: void sum(int *A) {a[0]=a[1];} main() { int aa[10]={1,2,3,4,5,6,7,8,9,10},i; for(i=1;i>0;i--)sum(&aa[i])

admin2009-02-15  34

问题 有以下程序:    void sum(int *A)    {a[0]=a[1];}    main()    {    int aa[10]={1,2,3,4,5,6,7,8,9,10},i;    for(i=1;i>0;i--)sum(&aa);    printf("%d\n",aa[0]);    }    程序运行后的输出结果是______。

选项 A、4
B、3
C、2
D、1

答案8

解析 C语言规定,实参变量对形参变量的数据传递是“值传递”,只由实参传给形参,而不能由形参传回来给实参。函数调用结束后,形参单元被释放,实参单元仍保留并维持原值。本题要求输出aa[0]的值,结果应为1。
转载请注明原文地址:https://kaotiyun.com/show/5wXp777K
0

最新回复(0)