Chinaunix首页 | 论坛 | 博客
  • 博客访问: 646535
  • 博文数量: 263
  • 博客积分: 9025
  • 博客等级: 中将
  • 技术积分: 2567
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-01 17:42
文章分类

全部博文(263)

文章存档

2012年(4)

2011年(64)

2010年(47)

2009年(44)

2008年(99)

2007年(5)

我的朋友

分类: C/C++

2011-04-16 08:44:57

设int arr[]={6,7,8,9,10};

int *ptr=arr;

*(ptr++)+=123;

printf(”%d,%d”,*ptr,*(++ptr)); 

打印出来的值是多少!

要注意函数调用时进出栈的顺序。


输出时是从后向前依次执行的。就是说先执行的是*(++ptr)让指针后移了一位.

输出结果为8,8

--------------------------------------------------------

/*
C语言函数参数进栈顺序是自右向左
出栈顺序自左向右
*/

#include
void fun(int i,int j)
{
printf("%d,%d\n",i,j);
}
void main()
{
int i=0;
fun(++i,i++);

}

--------------------------

输出结果:2,0
阅读(2028) | 评论(0) | 转发(1) |
0

上一篇:单链表逆置算法

下一篇:排序算法

给主人留下些什么吧!~~