(1/2).以下程序的输出结果为( main( ) { int i=010,j=10; printf("%d,%d\n",i++,j--); } 30
3个回答
展开全部
同楼上输出是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
解释一下:变量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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询