有以下程序 void f(int n, int *r) { int rl=0; if (n%3==0) r1=n/3; else if(n%5==0) r1=n/5; else f(--n, &r1); *r=r1; } main( ) { int m=7, r; f(m,&r); printf("%d", r); } 程序运行后的输出结果是( ).
举一反三
- 以下程序的输出结果是______ 。#include int f(int n) { if(n == 1) return 1; else return n + f(n - 1);}int main(void) { printf("%d\n", f(5)); return 0;}
- 以下程序的运行结果是______。 #include "stdio.h" main() {int m=1,n=2,*p=&m,*q=&n,*r; r=p;p=q;q=r; printf("%d,%d,%d,%d\n",m,n,*p,*q); }
- 使用递归函数计算n!(n=0,1,2,3,……)的是( ) A: fac(int n) B: int i,f=1; C: if(n==0)return 1; D: else for(i=1;i<=n;i++)f*=i; E: return f; F: fac(int n) G: if(n==0||n==1)return 1; H: else return n*fac(n-1); I: fac(int n) J: int i=1,f=1; K: if(n==0)return 1; L: else while(i<=n)f*=i++; M: return f; N: fac(int n) O: int i=1,f=1; P: if(n==0)return 1; Q: else dof*=i;while(i++<n); R: return f;
- 执行以下程序片段{ int m=1,n=2,*p=&m,*q=&n,*r; r=p;p=q;q=r; printf("%d,%d,%d,%d\n",m,n,*p,*q); } 程序运行后的输出结果是 A: 1,2,1,2 B: 1,2,2,1 C: 2,1,2,1 D: 2,1,1,2
- 有以下程序 #include<stdio.h> voidf(int*p); main() {inta[5]={1,2,3,4,5},*r=a; f(r);printf(”%d\n”;*r); } voidf(int*p) {p=p+3;printf(”%d,”,*p);}