itgle.com

有以下程序includeint i=0;void fun(){{ Static int i=1 Std::cont有以下程序 #include<iostream,h> int i=0; void fun() { { Static int i=1 Std::cont<<i++<<','; } Std::cout<<i<<','; } int main() { fun();fun(); return 0; } 程序执行后的输出结果是( )。A.1,2,1,2,B.1,2,2,3,C.2,0,3,0,D.1,0

题目
有以下程序includeint i=0;void fun(){{ Static int i=1 Std::cont<

有以下程序 #include<iostream,h> int i=0; void fun() { { Static int i=1 Std::cont<<i++<<','; } Std::cout<<i<<','; } int main() { fun();fun(); return 0; } 程序执行后的输出结果是( )。

A.1,2,1,2,

B.1,2,2,3,

C.2,0,3,0,

D.1,0,2,0,


相似考题
更多“有以下程序#include<iostream,h>int i=0;void fun(){{ Static int i=1 Std::cont<<i++<<','; } S ”相关问题
  • 第1题:

    有以下程序: include int i=0;void fun(){{static iht i=1; std::cout<

    有以下程序: # include <iostream> int i=0; void fun() {{static iht i=1; std::cout<<i++<<','; } std:: cout<<i<<','; } int main() { fun(); fun(); return 0; }程序执行后的输出结果是______。

    A.1,2,1,2,

    B.1,2,2,3,

    C.2,0,3,0,

    D.1,0,2,0,


    正确答案:D
    解析:程序中,static声明了一个局部静态变量,在程序运行期间一直存在,第二次调用函数改变了该值。全局变量一直未改变。

  • 第2题:

    有以下程序 include int fun(int (*s)[4],int n,int k) {int m,i;

    有以下程序 #include <stdio.h> int fun(int (*s)[4],int n,int k) {int m,i; m=s[0][kl; for(i=1;i<n;i++) if(s[i][k]>m) m=s[i][k]; return m; } main() { int a[4][4]={{1,2,3,4},{11,12,13,14}, {21,22,23,24}, {31,32,33,34}}; printf("%d\n",fun(a,4,0)); } 程序的运行结果是______。

    A.4

    B.34

    C.31

    D.32


    正确答案:C
    解析:在主函数中,定义并初始化了4行4列的二维数组a,并通过调用fun函数,将fun函数中指向一维数组的指针变量s指向了二维数组a的首地址,使得指针变量s与数组a共用同一存储单元。在fun函数中,通过for循环,求得了数组a第0列中最大的值,并赋给m返回主函数。由于数组a第0列的值分别为1、11、21、31,故其最大值是31。

  • 第3题:

    有以下程序include int i = 0;void fun( ){ {static int i = 1;std::cout<

    有以下程序 #include <iostream> int i = 0; void fun( ) { { static int i = 1; std::cout<<i++<<','; } std::cout<<i<<','; } int main() { fun(); fun(); return 0; } 程序执行后的输出结果是

    A.1,2,1,2,

    B.1,2,2,3,

    C.2,0,3,0,

    D.1,0,2,0,


    正确答案:D
    解析:本题考核变量的作用域、生存周期和存储类别(自动、静态、存储器、外部)。题中即定义全局变量i,又在函数fun内部定义了局部静态变量i,当进入函数fun里面的大括号时,局部静态变量i有效,所以输出1,然后局部静态变量i加1,出了里面的大括号后,全局变量i有效,所以输出0。同理,第二次调用fun后,输出2和0。

  • 第4题:

    以下程序的正确运行结果是()。includeint fun(int);void main(){int a=2,i;for(i=0;

    以下程序的正确运行结果是( )。 #include<iostream.h> int fun(int); void main() { int a=2,i; for(i=0;i<3;i++) cout<<fun(a)<<end1; cout<<end1; } int fun(int a) { int b=0; static int c=3; b++;c++; return(a+b+c); }

    A.4,5,6

    B.6,7,9

    C.7,8,9

    D.7,7,7


    正确答案:C

  • 第5题:

    有以下程序,程序执行后,输出结果是【】include void fun(int*A) {a[0]=a[1];} main() {i

    有以下程序,程序执行后,输出结果是【 】

    include<stdio.h>

    void fun(int*A)

    { a[0]=a[1];}

    main()

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

    for(i=2;i>1=0;i-) fun(&a[i]);

    for(i=0;i<10;i++) printf("%d,a[i]);

    printf("\n");

    }


    正确答案:7777654321
    7777654321 解析:本题主要考查函数的调用,第—次调用把数组元素a[2]的地址赋给a,此时a[1]即是原数组的a[3]等于7,再执行赋值语句a[0]=a[1],则a[0]和a[1]中的值都是7,然后再把这个值返回给a[2]同样地第二次调用的时候函数返回值也是7,第三次调用返回值也是7,因此数组的前4个元素,即对a[0]、a[1]、a[2]和a[3]的值都为7,当执行第二个for循环时输出数组中所有元素的值7777654321。