首页 > 试题广场 >

给出以下程序的执行结果。 #include void m

[问答题]
给出以下程序的执行结果。
#include <stdio.h>
void main()
{
    static char s[ ]={"abcdef"};
    char * p=s;
    * (p+2) +=3;
    printf("%c,%c\n", * p, * (p+2));
}

推荐
执行语句char * p=s后,指针p指向数组s的起始地址;再执行 * (p+2)+=3,将数组元素s[2]的值增加3,s[2]的值由'c'变为f',指针p自身的值并未改变,依然指向数组s的始址,此时执行printf("%c,%c\n",*p,*(p+2));将输出字符s[0]和s[2],即'a'和'f'。程序输出为a,f。
发表于 2018-05-07 10:52:45 回复(0)
a a+5 的地址内容 a f
发表于 2020-03-02 17:33:27 回复(0)