设有如下程序includemain(){int**k,*j,i=100;j=&i;k=&j;printf("%d\n",**k);}设有如下程序 #include<stdio.h> main() { int**k,*j,i=100; j=&i;k=&j; printf("%d\n",**k); } 上述程序的输出结果是______。A.运行错误B.100C.i的地址D.j的地址

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

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

A.运行错误

B.100

C.i的地址

D.j的地址


相似考题
更多“设有如下程序#include<stdio.h>main(){int**k,*j,i=100;j=&amp;i;k=&amp;j;printf("%d\n",**k);} ”相关问题
  • 第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=100j=&i;k=&j;printf("%d\n",**k);}

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

    A.运行错误

    B.100

    C.i的地址

    D.j的地址


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

  • 第3题:

    【填空题】以下程序的运行结果是输出如下图形。请填空。 * *** ***** ******* ***** *** * #include <stdio.h> void a(int i) {int j,k; for(j=0;j<=7-i;j++) printf(" "); for(k=0;k<【1】;k++) printf("*"); printf("n"); } main() {int i; for(i=0;i<3;i++) 【2】; for(i=3;i>=0;i--) 【3】; }


    输出结果为: value is 9.0

  • 第4题:

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

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

    A.运行错误

    B.100

    C.i的地址

    D.j的地址


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

  • 第5题:

    设有如下程序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。