奇怪++操作

#include <stdio.h>

int main(void)
{
    int j, i = 3;

    printf("j = %d\n", j = (++i) + (++i) + (++i));

    i = 3;
    printf("j = %d\n", j = (i++) + (i++) + (i++));
    i = 3;
    printf("j = %d\n", j = (++i) + (i++) + (++i));

    return 0;
}

/*
   结果:
 * j = 16
 * j = 9
 * j = 13
 * */

#include <stdio.h>

#define SQUARE(x) ((x)*(x))
int main(void)
{
    int a = 5;
    int b, c;

    b = SQUARE(a++);
    a = 5;
    c = SQUARE(++a);

    printf("b: %d, c: %d\n", b, c);

    a = 5;
    b = (a++)*(a++);
    a = 5;
    c = (++a)*(++a);

    printf("b: %d, c: %d\n", b, c);

    a = 5;
    b = (a++)*(a++)*(a++);
    a = 5;
    c = (++a)*(++a)*(++a);

    printf("b: %d, c: %d\n", b, c);

    a = 5;
    b = (a++)*(a++)*(++a);
    a = 5;
    c = (++a)*(a++)*(++a);
    // 6*6*7 ?

?

?
    a = 5;
    c = (++a)*(a++);
    // 6*6 ??

?

printf("b: %d, c: %d\n", b, c);

    return 0;
}

运行结果:

b: 25, c: 49

b: 25, c: 49

b: 125, c: 392

b: 150, c: 36

++ 什么是法律表达式求值?

反编译它?

版权声明:本文博客原创文章。博客,未经同意,不得转载。

时间: 2024-10-14 00:39:35

奇怪++操作的相关文章

Noip初赛整理

分辨率为 1600x900. 16 位色的位图,存储图像信息所需的空间为? A. 2812.5KB B. 4218.75KB C. 4320KB D. 2880KB A 1 kb = 1024 byte 16/2 = 8 byte 正数的反码是其本身 负数是除了符号位之外依次取反 正数的补码是本身 负数的补码 是 反码加1 只要考到了一般都是负数,因为正数就是一个进制转换没啥好考的... 存储器,运算器,控制器,输入输出设备 主机由cpu和内存ram组成 rom只读不可写入,貌似存了些底层操作

Libev库学习

Libev库学习 https://www.cnblogs.com/wunaozai/p/3950249.html Libev库学习(1)https://www.cnblogs.com/wunaozai/p/3954131.html Libev库学习(2)https://www.cnblogs.com/wunaozai/p/3955156.html Libev库学习(3)https://www.cnblogs.com/wunaozai/p/3960494.html Zlib库的安装与使用 http

java.sql.SQLException: Field &#39;id&#39; doesn&#39;t have a default value(用eclipse操作数据库时报了这种奇怪的错误)的原因与解决方法

1.错误原因 由于id在数据库表中是作为主键,但是在插入的过程中,没有给予数值,并且没有让其自增 2.解决办法 修改数据库表中的id,让其自增(在插入的过程中,不插入id数据时) java.sql.SQLException: Field 'id' doesn't have a default value(用eclipse操作数据库时报了这种奇怪的错误)的原因与解决方法 原文地址:https://www.cnblogs.com/zyt-bg/p/8385972.html

_00023 Kafka 奇怪的操作_001它们的定义Encoder达到Class数据传输水平和决心

博文作者:妳那伊抹微笑 博客地址:http://blog.csdn.net/u012185296 博文标题:_00023 Kafka 诡异操作_001自己定义Encoder实现Class级别的数据传送以及解析 个性签名:世界上最遥远的距离不是天涯,也不是海角.而是我站在妳的面前,妳却感觉不到我的存在 技术方向:Flume+Kafka+Storm+Redis/Hbase+Hadoop+Hive+Mahout+Spark ... 云计算技术 转载声明:能够转载, 但必须以超链接形式标明文章原始出处和

奇怪的++操作

#include <stdio.h> int main(void) { int j, i = 3; printf("j = %d\n", j = (++i) + (++i) + (++i)); i = 3; printf("j = %d\n", j = (i++) + (i++) + (i++)); i = 3; printf("j = %d\n", j = (++i) + (i++) + (++i)); return 0; } /*

使用RedisTemplate的操作类访问Redis(转载)

原文地址:http://www.cnblogs.com/luochengqiuse/p/4641256.html private ValueOperations<K, V> valueOps; private ListOperations<K, V> listOps; private SetOperations<K, V> setOps; private ZSetOperations<K, V> zSetOps; 1. RedisOperations接口说明

微信小程序怎么确定是息屏、返回、还是Home键操作?

我们公司在做一个客户端和小程序互相控制的小程序,两者都可以控制用户是否退出,因为安卓手机第一次扫码进来会触发onload方法,但是第二次扫码进入小程序,就直接进入到上次退出的界面,只会触发onShow方法,现在需求是只有扫码进来时才去请求登录接口,而亮屏操作不去请求接口,但是这两个操作目前找不到可以区分的点,现在很头疼. 之前想过通过监听返回键去识别,但是没找到监听返回键的方法,而且Home键操作也没办法识别到(Home键和返回键都可以认为是需要扫码获取到onload方法option里面的值这一

BZOJ 2756: [SCOI2012]奇怪的游戏 [最大流 二分]

2756: [SCOI2012]奇怪的游戏 Time Limit: 40 Sec  Memory Limit: 128 MBSubmit: 3352  Solved: 919[Submit][Status][Discuss] Description Blinker最近喜欢上一个奇怪的游戏. 这个游戏在一个 N*M 的棋盘上玩,每个格子有一个数.每次 Blinker 会选择两个相邻的格子,并使这两个数都加上 1. 现在 Blinker 想知道最少多少次能使棋盘上的数都变成同一个数,如果永远不能变成

node.js连接MySQL操作及注意事项

node.js作为服务端的js运行环境已经出现了有几年了,最近我有个朋友也在做这方面的开发,但是也是刚刚接触,遇到了很多坑.前几天他们在操作数据库的时候出现了点问题,后来我们一起看了看,其实都是node本身机制的一些问题,这里总结一下给新手做借鉴. 我朋友的数据库采用的是MySQL.(至于为什么不用mongoDB,这个是公司上层选型的结果,因为很多新手朋友似乎总是觉的node.js就是应该和mongoDB联系在一起,所以这里简单说下).我后来写了一个简单的小例子,整个小例子使用了express框