c语言题目 指点下

来源:百度知道 编辑:UC知道 时间:2024/06/03 00:54:09
请说明一下运行过程

#define PR(ar) printf("%d",ar)

main()
{
int j,a[] = {1,3,5,7,11,13,15},*p = a+5
for(j = 3;j;j- -)
{
switch(j)
char1;

char2;PR (*P++); break;

char3;PR(*(--p));
}
}

....
你代码的switch那里
应该是
case 1: what to do;break;
case 2: what to do;break;
default;
类似这样,但是不一定要这样的

可能你的代码是这样
#define PR(ar) printf("%d",ar)

main()
{
int j,a[] = {1,3,5,7,11,13,15},*p = a+5
for(j = 3;j;j- -)
{
switch(j)
case 1:

case 2:PR (*P++); break;

case 3:PR(*(--p));break;
default;
}
}
意思是先把p指向你定义数组的第六个数字
就是 *P=13
是了,你的指针定义里还缺了个;
之后就是循环,接下来的switch就是选择j的值,当j=1或者2时执行
PR (*P++); break; 就是输出p指向的值阿,就是13,输出之后地址前进一位,以后p指向的值就变成15了...
希望对你有帮助

如果题目没错的话,小弟才疏学浅,看不懂!!!!!!