Chinaunix首页 | 论坛 | 博客
  • 博客访问: 60024
  • 博文数量: 21
  • 博客积分: 1440
  • 博客等级: 上尉
  • 技术积分: 220
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-23 14:58
文章分类

全部博文(21)

文章存档

2008年(21)

我的朋友
最近访客

分类: C/C++

2008-04-25 17:07:09

下面程序运行结果是什么呢?
#include
int
main()
{
int arr[] = {6, 7, 8, 9, 10};
int *ptr = arr;
*(ptr++) += 123;
printf("%d\n", *ptr);
printf("%d\t%d\t%d\n", *(ptr - 2), *ptr, *ptr++);
getchar();
return (0);
}


答案:
7
129 8 7

分析:
对于*(ptr++) += 123;先做加法6+123,然后指针++,指针指向7;
对于printf("%d\t%d\t%d\n", *(ptr - 2), *ptr, *ptr++); 从后往前执行,先打印*ptr,然后指针++,指向8,然后输出8,紧接着再输出*(ptr - 2),即129。
阅读(425) | 评论(0) | 转发(0) |
0

上一篇:chm reader安装总结

下一篇:强大的链表

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