当前位置:IT认证>计算机二级

问题:

[单选] 有以下程序:
#include<stdio.h>
#include<stdlib.h>
main()
{ int*a,*b,*C;
 a=b=c=(int*)malloc(sizeof(int));
 *a=1;*b=2,*c=3;
 a=b:
 printf("%d,%d,%d",*a,*b,*c);
}
程序运行后的输出结果是(    )。

A . 3,3,3
B . 2,2,3
C . 1,2,3
D . 1,1,3

若有定义:“double a=22;int i=0,k=18;”,则不符合C语言规定的赋值语句是(  )。 a=a++,i++;   。 i=(a+k)<=(i+k);。 i=a%11;。 i=!a; 。 以下关于C语言的叙述中正确的是(  )。 C语言中的注释不可以夹在变量名或关键字的中间。 C语言中的变量可以在使用之前的任何位置进行定义。 在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致。 C语言的数值常量中夹带空格不影响常量值的正确表示 。 某二叉树共有7个结点,其中叶子结点只有l个,则该二叉树的深度为(假设根结点在第1层)(  )。 3   。 4   。 6   。 7。 以下程序段完全正确的是(    )。 int*P;scanf("%d",&p);   。 int*P;scanf("%d",p);。 int k,*p=&k;scanf("%d",p);。 int k,*p;*p=&k;scanf("%d",p); 。 有以下程序: #include<stdio.h>main(){int y=10;   while(y--);   printf("y=%d",y); }程序执行后的输出结果是(    )。 y=0  。 y=-1。 y=l。 while构成无限循环 。 有以下程序:
#include<stdio.h>
#include<stdlib.h>
main()
{ int*a,*b,*C;
 a=b=c=(int*)malloc(sizeof(int));
 *a=1;*b=2,*c=3;
 a=b:
 printf("%d,%d,%d",*a,*b,*c);
}
程序运行后的输出结果是(    )。
参考答案:

  参考解析

本题中,首先创建一个动态内存,然后将地址分别存入指针a、b、c中,即a、b、c都指向相同.的变量。分别给a、b、c所指的变量赋值,最终a、b、c所指的变量中的值为3,最后打印a、b、c所指的变量

在线 客服