以下程序的输出结果是 _______ 。 main() {char a[]={1,2,3,4,5,6,7,8,9,10}; char *p; p=a;

p=p+3;
printf("%d\n",*p++);
}

A、2 4 B、1 3
C、1 4 D、2 3
以下程序的输出结果是 _______ 。
main()
{char a[]={1,2,3,4,5,6,7,8,9,10};
char *p;
p=a;
printf("%d ",(*p)++);
p=p+3;
printf("%d\n",*p++);
}
A、2 4 B、1 3
C、1 4 D、2 3

第1个回答  2016-06-16
选择:C
理由:
第一个输出相当于:printf("%d ",a[0]);
第二个输出相当于:printf("%d",a[3]);追问

想问一下,输出那个指针变量*p++和(*p)++有什么区别吗?

追答

都一样
因为 * 与 ++ 的运算级相同
加了()的会先执行括号里的算式
比如:
(1+1)*2;
等价于
2*2
所以 *p++ = (*p)++

本回答被网友采纳
第2个回答  推荐于2017-10-09
程序的输出结果是

1 4
选答案C本回答被网友采纳
第3个回答  2016-06-16
答案是C,因为都是后缀
第4个回答  2017-10-02
C正确,选C。
第5个回答  2017-09-30
选择:C理由:第一个输出相当于:printf("%d",a[0]);第二个输出相当于:printf("%d",a[3]);
相似回答