c++/*t[i][j] =i*j+i;请问:这条语句=右边的表达式什么原理,在循环里是怎样运作的?

如何解决这道C语言题目

  • int i=010 //这是八进淛数(以零开头),所以i实际是8.
    //++i,表示:先自加后参加运算
    //j--,表示:先参加运算后自减。
    所以 i 先加1变成9然后输出。而 j 先输出然后再 减 1
    因为輸出是"%d,%d\n"的形式,所以都按十进制输出
     
  • 输出011是因为++i是先加后用,而输出10是因为j--是先用后减 输出以后,i值是011,j的值是9全部
  • printf函数输出时采用堆棧的方式简单地说,该函数的各输出项先按从有到所得次序算出各个输出项的值然后再按从左到右的顺序写出答案。 所以先算j--,因为是後置运算符所以表达式的值就是j的值为10,然后变量j的值变为9(不过在该题中没什么用),++i为前置运算符所以表达式的值为i加1之后的值,i嘚值为八进制的10所以结果为十进制的9。全部

我要回帖

更多关于 i t 的文章

 

随机推荐