• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
patty-patty
博客园    首页    新随笔    联系   管理    订阅  订阅

随笔分类 -  一天一道面试题

i++问题

摘要:例题,以下代码的输出结果是什么?#include int main(){ int arr[] = {6,7,8,9,10}; int *ptr = arr; *(ptr++) += 123; printf("%d,%d\n",*ptr,*(++ptr)); return 0;}解析: 首先明确C中的printf函数是从右到左压栈的。 *(ptr++) += 123; 等同于 *ptr =*ptr + 123; ptr++;(就算ptr++有括号也是要后算的)。此时ptr指向数组第二个元素7. printf("%d,%d\n",*ptr,*(++ptr)) 阅读全文
posted @ 2013-08-08 20:58 patty-patty 阅读(151) 评论(0) 推荐(0)
赋值语句

摘要:例题,求输出结果。 1 #include 2 using namespace std; 3 int func(int x) 4 { 5 int count=0; 6 while(x) 7 { 8 count++; 9 x = x & ( x-1 );10 11 }12 return count;13 }14 15 int main()16 {17 cout<<func(9999)<<endl;18 return 0;19 } 分析本题func函数可知其返回值是形参x转化为... 阅读全文
posted @ 2013-08-08 20:46 patty-patty 阅读(223) 评论(0) 推荐(0)

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3