printf从右向左计算,从左向右打印

43 篇文章 0 订阅
17 篇文章 0 订阅

printf从右向左计算,从左向右打印

1、第一个例子

#include <stdio.h>

int main() {

    int x = 0;

    printf("%d,%d\n", x, x++);
    printf("%d",x);

    return 0;
}

printf(“%d,%d\n”, x, x++)函数,从右向左计算,然后从左向右输出。

首先计算x++,取出x的值,此时x等于0,这个0留给printf语句输出之用。然后执行x = x + 1; 这时x 等于1;
输出时,从左向右输出,先输出1,再输出0。
最后x的值为1。

这里写图片描述

2、第二个例子

#include <iostream>

using namespace std;

int main() {
    int arr[] = {6,7,8,9,10};
    int *ptr = arr; // ptr指向第一个元素6
    ptr++; // ptr指向下一个元素7
    printf("%d, %d\n", *ptr, *(++ptr)); // 8 8
    return 0;
}

在执行 printf(“%d, %d\n”, ptr, (++ptr));时,从右向左计算,首先计算ptr = ptr+1,此时ptr指向的元素8。输出时,从左向右输出,所以是8 8。

这里写图片描述

  • 11
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值