现有如下程序段#include "stdio.h"int fun(int k,int *m){if(k%3)*m=k*k;else *m=k/3;}main(){ int (*p)(int,int *),m;p=fun;(*p)(78, &m);printf( "%d\n",m);}则程序段的输出结果为A.24B.25C.26D.27

题目

现有如下程序段

#include "stdio.h"

int fun(int k,int *m)

{if(k%3)*m=k*k;

else *m=k/3;}

main()

{ int (*p)(int,int *),m;

p=fun;

(*p)(78, &m);

printf( "%d\n",m);}

则程序段的输出结果为

A.24

B.25

C.26

D.27


相似考题
更多“现有如下程序段 #include"stdio.h" intfun(intk,int*m) {if(k%3)*m=k*k; else*m=k/3;} ”相关问题
  • 第1题:

    以下程序运行后的输出结果是 ______。 #include<stdio.h> struct NODE { int k; char s[20]; }; int main() { struct NODE m[3]; int i; for(i=0;i<3;i++) m[i].k=i+1; for(i=0;i<3;i++) printf("%d ",m[i].k); return 0; }


    D 本程序中通过DATA语句对数组B赋值的结果为矩阵DO循环语句的功能是将数组B的第2列的元素的值依次赋值给数组A。因此,A(1)=4、A(2)=5、A(3)=6,所以格式输出数组A后输出的结果为456。

  • 第2题:

    以下程序运行后的输出结果是 ________。 #include<stdio.h> struct NODE { int k; char s[20]; }; int main() { struct NODE m[3]; int i; for(i=0;i<3;i++) m[i].k=i+1; for(i=0;i<3;i++) printf("%d ",m[i].k); return 0; }


    D 本程序中通过DATA语句对数组B赋值的结果为矩阵DO循环语句的功能是将数组B的第2列的元素的值依次赋值给数组A。因此,A(1)=4、A(2)=5、A(3)=6,所以格式输出数组A后输出的结果为456。

  • 第3题:

    6、下面程序执行后的输出结果是()。 #include <stdio.h> int main() { int k=0,m=0,i,j; for (i=0; i<2; i++) { for (j=0; j<3; j++) k++ ; k-=j ; } m = i+j ; printf("k=%d,m=%d",k,m); return 0; }

    A.k=0,m=3

    B.k=0,m=5

    C.k=1,m=3

    D.k=1,m=5


    A 函数fun的功能是求数组的n个元素之和。fun(a,5)=15。由于s岫是静态局部变量,所以保持l5不变,fun(b,4)=45,所以s=fun(a,5)+fun(b,4)=60。

  • 第4题:

    程序功能是求整数m的所有素数因子,并输出。例如:m为120时,输出的素数因子为:2,2,2,3,5, 补全缺少的代码。 #include <stdio.h> int main() { int m; int k=2; scanf("%d", &m); while(k <= m ) if(_____________ ) { printf("%d, ",k); _____________; } else _____________; return 0; }

    A.第一句: m % k == 0 第二句: m = m / k 第三句:k++

    B.第一句: m / k == 0 第二句: m = m % k 第三句:k++

    C.第一句: m % k != 0 第二句: m = m / k 第三句:k--

    D.第一句: m / k != 0 第二句: m = m % k 第三句:k--


    i<=n,n%i==0;!(n%i)

  • 第5题:

    设有定义 int k=3,m=6; float f=12;,则以下选项中错误的表达式是()。

    A.k=k>=k+2

    B.-k--

    C.m%int(f)

    D.k>=f>=m*k


    k%int(f)