3251Fermer3253
Kevin KoflerLe 28/10/2017 à 15:13
flanker (./3247) :
* parce que contrairement au += qui est utilisable avec n'importe quel type, le ++ n'a de sens que pour les entiers
[kevin@desktop64 ~]$ cat dblincrtest.c
#include <stdio.h>

int main(void)
{
  double x;
  for (x = 0.; x < 10.; x++) {
    printf("%lf\n", x);
  }

  return 0;
}
[kevin@desktop64 ~]$ gcc -std=c11 -pedantic-errors -Wall -Wextra -Wwrite-strings -Os -fomit-frame-pointer -s dblincrtest.c -o dblincrtest
[kevin@desktop64 ~]$ ./dblincrtest
0.000000
1.000000
2.000000
3.000000
4.000000
5.000000
6.000000
7.000000
8.000000
9.000000
(J'ai rajouté -std=c11 -pedantic-errors pour montrer que c'est bien conforme au standard actuel. Ça compile et fonctionne évidemment aussi sans ces flags ou en -std=c99. -std=c90 ne connaît pas %lf.)

[EDIT: faute d'accord corrigée]