以下程序执行时,输入1 2 3 4 5<回车>输出为( )
#include<stdio.h>
#define N 5
void main()
{
int a[N];
int *p=a;
while(p<a+N)
scanf("%d", p++);
while(p>a)
printf("%d", *(--p));
}
A.5 4 3 2 1 B.1 2 3 4 5 C.2 3 4 5 1 D.4 3 2 1 5
题目错了
改成%d,不然运行起来报错。
这个开始有点绕,读一读就好多了,很容易。第一个while循环之后,p的地址是p4,而a的地址是a0,所以正好能把a数组的元素倒着输出,,,最重要的是注意,两个while循环里面的自增自减运算符是先增还是后增,先减还是后减。
这是我做的时候的想法。
有点变态呀,这
有问题吧,为什么最后一个是%s,不应该是%d吗
蹲个解释
A
用户登录可进行刷题及查看答案
登录后提交答案