(1/2).以下程序的输出结果为( main( ) { int i=010,j=10; printf("%d,%d\n",i++,j--); }

如题所述

同楼上输出是8和10,
解释一下:变量i初始化为010,最高位的0表示它是八进制数,而八进制的10就对应10进制的8,变量j就是10进制的10.
对于++,--自增自减运算,如果变量在前就先用变量,再自增或自减,如果++
--在前则先自增或自减再用.所以题中输出的就应该是i,j自增自减前的原值8和10
比如我设z=i++;那么这句z=i++;就相当于两句:z=i;i=i+1;设i原来为8那么运行后z=8,i=9
如果我设x=++i;那么就相当于i=i+1;x=i;设i原值为8那么运行后i=9,z=9
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答