现有如下程序段#include "stdio.h"main(){ int k[30]={12,324,45,6,768,98,21,34,453,456};int count=0,i=0;while(k[i]){ if(k[i]%2==0||k[i]%5==0)count++;i++; }printf("%d,%d\n",count,i);}则程序段的输出结果为A.7,8B.8,8C.7,10D.8,10

题目

现有如下程序段

#include "stdio.h"

main()

{ int k[30]={12,324,45,6,768,98,21,34,453,456};

int count=0,i=0;

while(k[i])

{ if(k[i]%2==0||k[i]%5==0)count++;

i++; }

printf("%d,%d\n",count,i);}

则程序段的输出结果为

A.7,8

B.8,8

C.7,10

D.8,10


相似考题
更多“现有如下程序段 #include "stdio.h" main() { int k[30]={12,324,45,6,768,98,21,34,453,456}; i ”相关问题
  • 第1题:

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

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

  • 第2题:

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

  • 第3题:

    现有如下程序段 #include "stdio.h" main() { int k[30]={12,324,45,6,768,98,21,34,453,456}; int count=0,i=0; while(L[i]) { if(k[i]%2==0||k[i]%5==0)count++; i++; } printf("%d,%d\n",count,i);} 则程序段的输出结果为

    A.7,8

    B.8,8

    C.7,10

    D.8,10


    正确答案:D
    解析:在C语言中,定义一维数组的语句一般形式如下:
      类型名  数组名[常量表达式];
      一维数组的引用形式为:数组名[下标表达式]。count表示能被2整除或被5整除的个数,i则计算有多少个数组元素。

  • 第4题:

    现有如下程序段 #include"stdio.h" main() { int k[30]={12,324,45,6,768,98,21,34,453,456}; int count=0,i=0; while(k[i]) { if(k[i]%2==0||k[i]%5==0)count++; i++; } printf("%d,%d\n",count,i);} 则程序段的输出结果为

    A.7,8

    B.8,8

    C.7,10

    D.8,10


    正确答案:D
    解析:在C语言中,定义一维数组的语句一般形式如下:类型名数组名[常量表达式];一维数组的引用形式为:数组名[下标表达式]。count表示能被2整除或被5整除的个数,i则计算有多少个数组元素。

  • 第5题:

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