下列程序的输出结果是()。 include main() {int a=2,b=3,p; p=f(a,B) ; pdntf("%d",p);下列程序的输出结果是( )。#include<stdio.h>main(){ int a=2,b=3,p;p=f(a,B) ;pdntf("%d",p);}int f(a,B){ int c;if(a>B) c=1;else if(a==B) c=0;elSe c=-1;return(C) ;}A.-1B.0C.1D.2

题目
下列程序的输出结果是()。 include main() {int a=2,b=3,p; p=f(a,B) ; pdntf("%d",p);

下列程序的输出结果是( )。

#include<stdio.h>

main()

{ int a=2,b=3,p;

p=f(a,B) ;

pdntf("%d",p);

}

int f(a,B)

{ int c;

if(a>B) c=1;

else if(a==B) c=0;

elSe c=-1;

return(C) ;

}

A.-1

B.0

C.1

D.2


相似考题
参考答案和解析
正确答案:A
解析:本题考查if else语句。在int f(a,b)中:第一个if语句,先判断条件,发现a>b条件不成立,则执行与其配对的else语句:第二个if语句,先判断条件,发现a==b条件不成立,则执行与其配对的else语句,c=-1。
更多“下列程序的输出结果是()。 #include<stdio.h> main() {int a=2,b=3,p; p=f(a,B) ; pdntf("%d",p); ”相关问题
  • 第1题:

    以下程序的输出结果是includeint a[3][3]={1,2,3,4,5,6,7,8,9,},*p;main(){p=(int*)ma

    以下程序的输出结果是 #include<stdio.h> int a[3][3]={1,2,3,4,5,6,7,8,9,},*p; main() { p=(int*)malloc(sizeof(int)); f(p,a); printf("%d\n",*p); free(p);} f(int *s, int p[][3]) { *s=p[1][1];}

    A.1

    B.4

    C.7

    D.5


    正确答案:D
    解析:本题考查了二维数组元素引用的方法。题中用动态存储分配函数malloc分配了一个int型数据长度大小的内存,然后指针p指向了这段内存,函数f()中对p所指向的数据进行了赋值,p[1][1]为二维数组第二行第二列的元素,对应于实参a的元素5,所以输出结果为5。

  • 第2题:

    以下程序的输出结果是include "stdio.h"int *f(int *x,int *y){ if(*x<*y) return x; else return y;}main(){ int a=7,b=8, *p,*q,*r ; p=&a; q=&b; r= f(p,q); printf("%d,%d,%d\n",*p,*q,*r);}


    正确答案:7,8,7。
    在本题中,程序首先定义了一个函数f,其结构是int *f(int *x,int *y),这个结构说明函数f的返回类型是指针型,函数f的两个变量分别是指针变量x和y,从程序中我们很容易看出,这个函数的作用是返回形参中值较小的指针值(即地址值),返回的是指针型的结果。
    在主函数中,首先定义了两个整型变量,分别赋初值7和8,并定义了三个指针型变量,接着将指针变量p和q分别指向变量a和b,然后调用函数f,参数分别为指针变量p和q,很显然,p所指向的值小于q所指向的值,那么返回指针变量p的地址值给指针变量r,由于指针变量P的地址值是变量a存储单元的地址值,也就是说,指针变量r指向变量a,因此,最后程序的输出结果是7,8,7。

  • 第3题:

    以下程序的输出结果是( )。 include void swap(int*a,int*B){int*t; t=a;a=b;b=c;} main

    以下程序的输出结果是( )。 include<stdio.h> void swap(int*a,int*B){int*t; t=a;a=b;b=c;} main() {int i=3,j=5,*p=&i,*q=&j; swap(p,q);printf("%d %d\n",*p,*q); }


    正确答案:3 5
    3 5 解析:本题考查函数中形参和实参的传递。在C语言函数中实参和形参传递具有不可逆性,参数只能由实参传向形参,而不能由形参传向实参,虽然swap函数的功能是实现两个数的交换,但由于没有返回值,故最终的输出结果为3 5。

  • 第4题:

    以下程序的输出结果是includeint a[3][3]={1,2,3,4,5,6,7,8,9,},*p;main(){p=(int*)ma

    以下程序的输出结果是 #include<stdio.h> int a[3][3]={1,2,3,4,5,6,7,8,9,},*p; main() { p=(int*)malloc(sizeof(int)); f(p,a); printf("%d\n”,*p); free(p);} f(int *s,intp [][3]) { *s=p[1][1];}

    A.1

    B.4

    C.7

    D.5


    正确答案:D
    解析: 本题考查了二维数组元素引用的方法。题中用动态存储分配函数malloc分配了一个int型数据长度大小的内存,然后指针p指向了这段内存,函数f()中对p所指向的数据进行了赋值,p[1][1]为二维数组第二行第二列的元素,对应于实参a的元素5,所以输出结果为5。

  • 第5题:

    下列程序的输出结果是()。includemain(){ int a=2,b=3,p;p=f(a,b);printf("%d",p);}int

    下列程序的输出结果是( )。 #include<stdio.h> main() { int a=2,b=3,p; p=f(a,b); printf("%d",p); } int f(a,b) { int c; if(a>b)c=1; else if(a==b)c=0; else c=-1; return(c) ; }

    A.-1

    B.0

    C.1

    D.2


    正确答案:A
    解析:本题考查if else语句。在int f(a,b)中:第一个if语句,先判断条件,发现a>b条件不成立,则执行与其配对的else语句;第二个if语句,先判断条件,发现a==b条件不成立,则执行与其配对的else语句,c=-1。