参考答案和解析
正确答案:C
解析:在函数体外部定义的变量是全局变量。在主函数内部定义的变量是局部变量。当全局变量和局部变量同名时候,在函数体内,局部变量对全局变量起屏蔽作用,即全局变量在函数体内不起作用。 

更多“如下程序段运行时的输出结果是int i=4;int J=1;int main( ){ inti=8,j=i;cout<<i<<j<<endl;}A.44 ”相关问题
  • 第1题:

    有如下程序段#include "stdio.h"void fun(int *a,int *b,int *c,int *d,int *e){ int i,j,k,m; for(i=0;i< *a;i++) for(j=0;j< *b;j++)  for(k=0;k<*c;k++)  for(m=0;m< *d;m++)  ++*e;}main(){ int a=10,b=10,c=10,d=10,e=0; fun(&a,&b,&c,&d,&e); printf("%d\n",e);} 则程序段的输出结果是A.10000 B.1000 C.100 D.0


    正确答案:A
    在本题中,程序首先定义了一个无返回值的函数fun,该函数带有五个整型的指针形参变量,然后通过一个四层循环来操作++*e;语句,由于*与++运算符的优先级一样,它们都是自右至左结合的操作,因此,++*e等价于++(*e),这个操作可描述为:先用地址取值,然后对其进行自加,由于是通过传址传值法的,因此,还需要将相加后的结果传递到实参中。
    在主函数中,定义五个整型变量并分别赋初值,然后调用fun函数,传递的参数是刚定义的五个整型变量的地址,采用的是传址传值法,能为实参带回一个结果值。从fun函数中我们不难看出,当变量a,b,c,d分别为10时,循环总共执行10000次,即自加进行了10000次,而且每次自加后都改变了实参的结果。因此,循环结束后,变量e的值为10000。本题的正确答案是A。

  • 第2题:

    设有如下程序includemain(){int**k, *j, i=100;j=&i, k=&j;printf("%d\n",**k

    设有如下程序#include<atdio.h>main(){int**k, *j, i=100;j=&i, k=&j;printf("%d\n",**k);}上述程序的输出结果是______。

    A.运行错误

    B.100

    C.i的地址

    D.i的地址


    正确答案:B
    解析:j=&i,j的值就是i的地址,8j=100,将j的地址赋给k,这时*k=j,那么,**k=*j,而*j=100,所以**k=100,最后的打印结果应当为100。

  • 第3题:

    有如下程序段: int i=4;int j=1; int main() { int i=8,j=i; cout<<i<<j<<endl; } 运行时的输出结果是______。

    A.44

    B.88

    C.41

    D.81


    88

  • 第4题:

    有以下程序

    void fun(intā*a,int i,int i)

    { int t;

    if(i<j);

    { t=a[i];a[i]=a[j];a[j]=t;

    fun(a,++i,- -j);

    }

    }

    main( )

    { int a[]={1,2,3,4,5,6},i;

    fun(a,0,5);

    for(i=0;i<6;i++)

    cout<<a[i];

    }

    执行后输出结果是

    A.6 5 4 3 2 1

    B.4 3 2 1 5 6

    C.4 5 6 1 2 3

    D.1 2 3 4 5 6


    正确答案:A
    解析:本题采用递归函数的方式将数组中的元素进行倒置,正确答案为A。

  • 第5题:

    有如下程序段: int i=4;int j=1; int main() { int i=8,j=i; cout<<i<<j<<endl; } 运行时的输出结果是______。

    A.44

    B.41

    C.88

    D.81


    88