itgle.com

下列程序段的输出结果为()。includemain(){static char a[]="language";char*p;p=a;for下列程序段的输出结果为( )。 #include<stdio.h> main() { static char a[]="language"; char*p; p=a; for(p=a;p<a+8;p+=2) putchar(*p); }A.1B.4C.9D.0

题目
下列程序段的输出结果为()。includemain(){static char a[]="language";char*p;p=a;for

下列程序段的输出结果为( )。 #include<stdio.h> main() { static char a[]="language"; char*p; p=a; for(p=a;p<a+8;p+=2) putchar(*p); }

A.1

B.4

C.9

D.0


相似考题
参考答案和解析
正确答案:D
解析: 本题主要是考查带参数的宏定义及其相关运算。本题中宏运算过程如下: a=a/(S(k+m)/S(k+m))=a/(k+m*k+m/k+m*k+m)=9/(3+2*3+2/3+2*3+2)=0。
更多“下列程序段的输出结果为()。#include<stdio.h>main(){static char a[]="language";char*p;p=a;for ”相关问题
  • 第1题:

    下列程序段的输出结果为( )。 include main() { static char a[]="language"; char *p;

    下列程序段的输出结果为( )。 #include<stdio.h> main() { static char a[]="language"; char *p; p=a; for(p=a;p<a+8;p+=2) putchar(*p); }

    A.language

    B.lnug

    C.有语法错误

    D.lang


    正确答案:B
    解析:本程序首先定义了静态字符数组a,然后将指针P指向数组a的首地址。第1次for循环,p=a,p指向数组的第1个元素,*p是取指针P所指地址的内容,输出1;第2次for循环,p=p+2,则p指向数组的第3个元素,*p是取指针p所指地址的内容,输出n;第3次for循环,p=p+2,则p指向数组的第5个元素,*p是取指针p所指地址的内容,输出u;第4次for循环,p=p+2,则p指向数组的第7个元素,*p是取指针p所指地址的内容,输出g,结束循环。

  • 第2题:

    以下程序的输出结果是【 】。includeincludechar*fun(char*0{ char *p--t;retur

    以下程序的输出结果是【 】。

    include <stdio.h>

    include <string.h>

    char *fun(char *0

    { char *p--t;

    return (p+strlen(t)/2);

    }

    main()

    { char *str="abcdefgh";

    str=ftm(str);

    puts(str);

    }


    正确答案:efgh
    efgh 解析:本题考查的知识点是:字符指针。题目中的fun()函数,通过strlen()库函数得到形参t所指字符串的长度。然后返回t所指字符串首地址值加上该长度值的一半。所以fun()函数的作用就是返回所给字符串的中间位置。故最后通过puts()输出的字符串为"efgh"。

  • 第3题:

    以下程序运行后的输出结果是() 。   #include <stdio.h>   #include <stdlib.h>   #include <string.h>   main()   { char *p; int i;    p=(char *)malloc(sizeof(char)*20);    strcpy(p,"welcome");    for(i=6;i>=0;i--) putchar(*(p+i));    printf("n"); free(p);   }


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

  • 第4题:

    下列程序段的输出结果为()。includemain(){ static char a[]="language";char*p; p=a;

    下列程序段的输出结果为( )。#include<stdio. h>main(){ static char a[]="language"; char*p; p=a; for(p=a;p<a+8;p+=2) putchar(*p);}

    A.language

    B.lnug

    C.有语法错误

    D.lang


    正确答案:B
    解析:本程序首先定义了静态字符数组a,然后将指针p指向数组a的首地址。第1次for循环,p=a,p指向数组的第1个元素,*p是取指针p所指地址的内容,输出1;第2次for循环,p=p+2,则p指向数组的第3个元素,*p是取指针p所指地址的内容.输出n;第3次for循环,p=p+2,则p指向数组的第5个元素,*p是取指针p所指地址的内容,输出u;第4次for循环,p=p+2,则p指向数组的第7个元素,*p是取指针p所指地址的内容,输出g,结束循环。

  • 第5题:

    以下程序的输出结果是【 】。includeincludechar*fun(char*t){ char *p=t;retur

    以下程序的输出结果是【 】。

    include <stdio.h>

    include <string.h>

    char *fun(char *t)

    { char *p=t;

    return (p+strlen(t)/2);

    }

    main()

    { char *str="abcdefgh";

    str=ftm(str);

    puts(str);

    }


    正确答案:
    efgh 解析:本题考查的知识点是:字符指针。题目中的fun()函数,通过strlen()库函数得到形参t所指字符串的长度。然后返回t所指字符串首地址值加上该长度值的一半。所以fun()函数的作用就是返回所给字符串的中间位置。故最后通过puts()输出的字符串为"efgh"。