C语法的几个小测试

C语法的几个小测试,十分无聊……

 
#include<stdio.h>

int main()
{
        int a=2,b=1;
        /* 验证表达式正确的运算方式,gcc对a+++b是以(a++)+b来处理的,或与规范有关,但确实“贪心” */
        printf("a+++b = %d,\ta = %d\n",a+++b,a);

        /* 验证括号中逗号表达式的作用,取最后一个逗号后的值,但括号内所有运算照旧 */
        printf("(a++,0,a-b)+b = %d,  a = %d\n",(a++,0,a-b)+b,a);
    
        /* 证实:先进行“+”运算,然后再处理相关变量右边的“++”问题 */
        b+=a++;
        printf("b = %d, a = %d\n",b,a);

        /* 会有些警告,但gcc能编译出结果 */
        a+=a++;
        printf("a = %d\n",a);

        /* 再次证实:先依次进行“+”运算,然后再依次处理变量右边的“++”问题 */
        printf("a+++a+++a++ = %d,   a = %d\n",a+++a+++a++,a);

        return 0;
}
 

随意系列;欢迎指正。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值