[应用相关] * 和 ++ 操作案例分析

[复制链接]
515|0
 楼主| OKAKAKO 发表于 2024-8-31 15:50 | 显示全部楼层 |阅读模式

问:下面的操作会输出什么?为什么?

  1. #include<stdio.h>

  2. int main(void)
  3. {
  4.     char *ptr = "Linux";
  5.     printf("\n [%c] \n",*ptr++);
  6.     printf("\n [%c] \n",*ptr);

  7.     return 0;
  8. }


答:输出结果应该是这样:
  1. [L]

  2. [i]

因为“++”和“ * ” 的优先权一样,所以“ * ptr++ ”相当于 “ * (ptr++) ”。即应该先执行 ptr++,然后才是 * ptr,所以操作结果是“L”。第二个结果是“i”。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

260

主题

2096

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部