Особенности реализации операторов PRINTF и COUT в С(С++)

Особенность реализации функции PRINTF и COUT в С и С++.

При использовании функции printf и cout следует иметь ввиду, что
компилятор заполняет строку вывода справа налево, т.е. переменные, выводимые в левой части строки получают свои значения позже, выводимых в правой части строки.
Это наглядно демонстрирует ниже приведенная программа.

Show »

#include<stdio.h>
#include<conio.h>
#include<iostream.h>
int main()
{
 int a[9],i,k=6;
 for(i=0;i<6;a[i++]=k++);
 i=0;
 puts(" ");
 cout<<a[i++]<<" "<<a[i++]<<" "<<a[i++]<<" "<<a[i++]<<" "<<a[i++]<<" "<<a[i++];
 puts("");
 i=0;
 printf("%d %d %d %d %d %d",a[i++],a[i++],a[i++],a[i++],a[i++],a[i++]);
 return 1;
}