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;
}
 

随意系列;欢迎指正。

 

 

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页