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

日期:2018-02-28 19:25:22 人气:3

(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
    A+
热门评论