printf的输出规则

今天看到了一个很有趣的程序:

判断下面程序输出的内容:

#include
#include
int main() 
{
     int i=43; 
      printf("%d\n",printf("%d",printf("%d",i)));
      system("pause");
      return 0;
 }

   最后的输出结果为4321

  原来都只遇到过输出变量所代表的数值的情况,未遇见过直接数值的情况,经过检验与调查,发现,程序先执行最内部的printf,即就是以整数形式输出i的值,输出内容为43,然后执行外面紧挨着的printf,即就是输出43的位数2,同理再执行最外面的printf,输出2的位数为1,所以程序输出的最终结果为4321.

  

你可能感兴趣的:(c语言编程)