以下程序段的输出结果为( )。 static char a[]="programme"; char *p; p=a; for(p=a;p<a+8;p+=2) putchar(*p);

admin2021-06-15  26

问题 以下程序段的输出结果为(    )。
    static char a[]="programme";
    char *p;
    p=a;
    for(p=a;p<a+8;p+=2)
    putchar(*p);

选项 A、programme
B、porm
C、有语法错误
D、prog

答案B

解析 本程序首先定义了静态字符数组a,然后将指针p指向数组a的首地址,第一次for循环,p=a,p指向数组的第一个元素,*p是取指针p所指地址的内容,输出p;第二次for循环,p=p+2,则p指向数组的第三个元素,*p是取指针p所指地址的内容,输出o;第三次for循环,p=p+2,则p指向数组的第5个元素,*p是取指针p所指地址的内容,输出r;第四次for循环,p=p+2,则p指向数组的第7个元素,*p是取指针p所指地址的内容,输出m;结束循环。
转载请注明原文地址:https://jikaoti.com/ti/ulz0FFFM
0

最新回复(0)